PHP
卢士林
这个作者很懒,什么都没留下…
展开
-
解决composer安装太慢的问题
对于composer require和composer install,composer update大家都懂的,官方服务器在国外,导致这些需要拉取包的时候非常非常慢。一般就是类似这样的输出,然后就是无穷无尽的等待:Loading composer repositories with package informationUpdating dependencies (including require-dev)composer命令带上-vvv首先,建议在使用composer命令时.转载 2021-04-17 14:23:25 · 1191 阅读 · 0 评论 -
workerman文件更新监控,自动reload
<?phpuse Workerman\Worker;use think\App;$worker_obj = new Worker();$worker_obj->count = 1;// 慢任务,消费者的进程数可以开多一些$worker_obj->name = 'FileMonitor';$worker_obj->reloadable = false;//最后加载配置时间$last_reload_time = time();//监控文件目录//$monit.原创 2021-02-03 15:08:32 · 693 阅读 · 0 评论 -
PHP大小写:函数名和类名不区分,变量名区分
今天项目逻辑处理上遇到一点问题,同事怀疑是函数名 systemTime大写字符写成了systemtime,特意验证了一下,在linux环境下不区分大小写,都能调用成功。特意网上搜了一下:1.变量名区分大小写<?php$abc = 'abcd';echo $abc; //输出'abcd'echo $aBc; //无输出echo $ABC; //无输出2.常量名默认区分大小写,通常都写为大写(但没找到能改变这个默认的配置项,求解)<?phpdefi...原创 2020-08-11 14:34:25 · 505 阅读 · 0 评论 -
barcode--php生成条形码
<?phpnamespace app\common\logic\utils;/** * 生成条形码 * 引用插件类库:composer require picqer/php-barcode-generator * github:https://github.com/picqer/php-barcode-generator * Class Barcode * @package app\common\logic\utils */class Barcode{ /** .原创 2020-05-20 11:56:40 · 995 阅读 · 0 评论 -
thinkphp 5 union 联合查询
//注意 field查询字段要指定,不然报 xxx.(表不存在$sql1 = Db::name('user')->field('id,username')->where('id <=10')->buildSql();$sql2 = Db::name('user')->field('id,username')->where('id >20 and id<=30')->buildSql();$sql3 = Db::name('user')-&g原创 2020-05-14 09:50:41 · 1323 阅读 · 0 评论 -
php session 存储到redis里
此方法是通过php原生写法(或配置)实现的session入redis,但是在通常情况下, 大家都是通过相应的web框架进行开发工作, 所以实际操作时, 应该多去翻翻框架的官方文档, 看有没有提供相应方法可直接开启此功能, 大多数的框架也都带了此功能, 如tp5以上版本, 可以通过更改session.php配置文件瓜式的实现该功能.配置方式如下:方法一:修改 php.ini 的设置 ...转载 2019-12-19 17:31:03 · 234 阅读 · 0 评论 -
TP5项目加了CDN或负载均衡器导致无法获取会员真实IP
在TP5中获取IP是这样的:$ip = \think\Request::instance()->ip();在 /thinkphp/library/think/Request.php 文件中,ip方法中HTTP_X_FORWARDED_FOR HTTP_CLIENT_IP REMOTE_ADDR1.有cdn节点时候,前两个可以获取用户真实ip,但是如果没有cdn...原创 2019-12-18 09:00:50 · 974 阅读 · 0 评论 -
php的max_execution_time和php-fpm的request_terminate_timeout的详解
1.max_execution_time和request_terminate_timeout分别是php和php-fpm来控制脚本运行时间和单次请求所花费的时间最大值。2.php脚本代码本身运行(1)当max_execution_time = 10,request_terminate_timeout = 1运行脚本 $time = time(); echo 'begi...转载 2019-11-22 10:43:28 · 773 阅读 · 0 评论 -
PHP导出:Spout是一个PHP库,可以快速,可扩展的方式读写电子表格文件(CSV,XLSX和ODS)
HTML:<a href="{:url('orderlogdoexcel',input())}" class="piliang-btn-style">批量导出</a>PHP:public function orderlogdoexcel(){ $fileName = 'orderlog.xlsx';//导出文件名 $param = inp...原创 2019-03-12 16:50:35 · 2632 阅读 · 0 评论 -
Flarum轻论,关于nginx-vhost的配置
引用地址:https://jsthon.com/flarum-installation-guide/server { listen 80; server_name example.com; root /var/www/flarum; index index.php index.html index.htm; # security config ...转载 2019-03-15 17:42:45 · 748 阅读 · 0 评论 -
ThinkPHP 中使用 PHP pcntl_fork 实现多进程的坑
最近要实现一个功能:根据卡号去第三方平台获取卡的详细信息,但是由于第三方相应速度比较慢(一张卡大概3S),在批量操作的时候,响应就会很慢,所以想到使用多进程去操作具体代码如下 set_time_limit(0); $forkNums = 20; //开启的进程数 if (!function_exists("pcntl_fork")) { die("pcnt...转载 2019-02-16 16:31:42 · 6418 阅读 · 0 评论 -
PHP获取音频文件(MP3、MP4等)播放时间长度
1、首先,我们需要先下载一份PHP类—getid3https://codeload.github.com/JamesHeinrich/getID3/zip/master2、解压放入项目,并引用include_once ROOT_PATH.'extend/gedit3/getid3/getid3.php';$getID3 = new \getID3();$ThisFileInfo = @...原创 2019-02-21 15:02:39 · 4995 阅读 · 0 评论 -
php7 ??和?:区别
$a=$c??$b; //等同于 $a=isset($c)?$c:$b;$a=$c?:$b; //等同于 $a=$c?$c:$b;empty: 判断一个变量是否为空(null、false、00、0、’0′、』这类,都会返回true)。isset: 判断一个变量是否设置(值为false、00、0、’0′、』这类,也会返回true)。...原创 2018-12-08 15:49:59 · 148 阅读 · 0 评论