TP5 设置数据库字段自增
发布于:2023-5-26 16:50 作者:song100e 浏览:7 分类:ThinkPHP5// 如不加第二个参数,默认值为1
// score 字段加 1
Db::table('think_user_num')->where('ids', 1)->setInc('score');
// score 字段加 5
Db::table('think_user_num')->where('ids', 1)->setInc('score', 5);
// score 字段减 1
Db::table('think_user_num')->where('ids', 1)->setDec('score');
// score 字段减 5
Db::table('think_user_num')->where('ids', 1)->setDec('score', 5)
// score 字段加 1
Db::table('think_user_num')->where('ids', 1)->setInc('score');
// score 字段加 5
Db::table('think_user_num')->where('ids', 1)->setInc('score', 5);
// score 字段减 1
Db::table('think_user_num')->where('ids', 1)->setDec('score');
// score 字段减 5
Db::table('think_user_num')->where('ids', 1)->setDec('score', 5)
cURL error 60: SSL certificate problem 解决方法
发布于:2023-4-28 10:35 作者:song100e 浏览:22 分类:PHP腾讯云机器翻译时,请求接口报错如下:
cURL error 60: SSL certificate problem: unable to get local issuer certificate
(see http://curl.haxx.se/libcurl/c/libcurl-errors.html)
1、下载cacert
下载地址:https://curl.haxx.se/ca/cacert.pem
2、修改 php.ini , 并重启
在php.ini中找到curl.cainfo改为文件的绝对路径如:
curl.cainfo =E:\phpstudy_pro\Extensions\php\php7.3.4nts\cacert.pem
注意事项:
需要开启 php_curl、php_openssl 扩展;
cURL error 60: SSL certificate problem: unable to get local issuer certificate
(see http://curl.haxx.se/libcurl/c/libcurl-errors.html)
1、下载cacert
下载地址:https://curl.haxx.se/ca/cacert.pem
2、修改 php.ini , 并重启
在php.ini中找到curl.cainfo改为文件的绝对路径如:
curl.cainfo =E:\phpstudy_pro\Extensions\php\php7.3.4nts\cacert.pem
注意事项:
需要开启 php_curl、php_openssl 扩展;
php读取zip、bz2压缩包中文件内容
发布于:2023-4-21 13:39 作者:song100e 浏览:28 分类:PHP
$targetZipFile = ROOT_PATH . 'public' .$zipFile; $targetZipFile = str_replace(array("/", "\\"), DIRECTORY_SEPARATOR, $targetZipFile); if(!file_exists($targetZipFile)){ $this->error(__('日志文件不存在')); } $targetLog = "phar://{$targetZipFile}\\factory.log"; $text= file_get_contents($targetLog); if(stripos($text, 'GRT') === false){ $this->error(__('匹配 GRT 失败')); }
Fastadmin 修改 where 条件
发布于:2023-3-15 14:13 作者:song100e 浏览:49 分类:PHP$position['state'] = 'pending'; $op = $request->get("op"); $op = json_decode($op,true); $filter = $request->get("filter"); $filter = json_decode($filter,true); if(isset($filter['sn'])){ $snArr = explode(',', $filter['sn']); if(count($snArr) > 1){ unset($filter['sn'], $op['sn']); $request->get([ 'op'=>json_encode($op), "filter"=>json_encode($filter), ]); // 支持多个sn逗号分隔 $position['sn'] = ['in', $snArr]; } } list($where, $sort, $order, $offset, $limit) = $this->buildparams(); dump($where);
PHP错误异常too many open files解决方法
发布于:2021-11-18 9:52 作者:song100e 浏览:373 分类:PHP一、产生原因
too many open files 是 Linux 系统中常见的错误,从字面意思上看就是说程序打开的文件数过多,不过这里的 files 不单是文件的意思,也包括打开的通讯链接(比如socket),正在监听的端口等等,所以有时候也可以叫做句柄(handle),这个错误通常也可以叫做句柄数超出系统限制。
引起的原因就是进程在某个时刻打开了超过系统限制的文件数量以及通讯链接数,通过命令ulimit -a可以查看当前系统设置的最大句柄数是多少:
too many open files 是 Linux 系统中常见的错误,从字面意思上看就是说程序打开的文件数过多,不过这里的 files 不单是文件的意思,也包括打开的通讯链接(比如socket),正在监听的端口等等,所以有时候也可以叫做句柄(handle),这个错误通常也可以叫做句柄数超出系统限制。
引起的原因就是进程在某个时刻打开了超过系统限制的文件数量以及通讯链接数,通过命令ulimit -a可以查看当前系统设置的最大句柄数是多少:
PHP安装AMQP扩展
发布于:2021-6-30 16:47 作者:song100e 浏览:538 分类:PHP这里假定你openssl, cmake 升级到了最新版, 而且下载好了 rpm 包,注意对应版本
1, 安装 erlang。有可能之前安装过所以加上 --replacefiles
rpm -ivh --replacefiles erlang-22.0.7-1.el7.x86_64.rpm
2, 安装 socat 依赖
yum install socat
3, 安装 rabbitmq-server
rpm -ivh rabbitmq-server-3.7.18-1.el7.noarch.rpm
1, 安装 erlang。有可能之前安装过所以加上 --replacefiles
rpm -ivh --replacefiles erlang-22.0.7-1.el7.x86_64.rpm
2, 安装 socat 依赖
yum install socat
3, 安装 rabbitmq-server
rpm -ivh rabbitmq-server-3.7.18-1.el7.noarch.rpm
TCPDF 中文支持解决方案
发布于:2021-3-18 11:46 作者:song100e 浏览:729 分类:PHP 最近项目中有个小需求就是导出 pdf 文件, 浏览了一圈, 最后选择了 TCPDF, 过程中发现官方下载包并不能有好的支持中文。
解决步骤如下:
1. 确保你测试tcpdf能正常输出英文内容的pdf2.测试输入中文内容后显示是?的乱码或者空白分析原因,是因为我们输入的中文,TCPDF 字体库并不支持,因此乱码或者空白显示,添加一个合适的字体即可。另外 TCPDF 的字体分为两种方式,嵌入方式和非嵌入(系统自带)嵌入就是输出的 pdf 会包含你的字体文件,系统自带的要求客户端必须有你指定的字体。
找到了原因,明白了原理,ok,动手吧
解决步骤如下:
1. 确保你测试tcpdf能正常输出英文内容的pdf2.测试输入中文内容后显示是?的乱码或者空白分析原因,是因为我们输入的中文,TCPDF 字体库并不支持,因此乱码或者空白显示,添加一个合适的字体即可。另外 TCPDF 的字体分为两种方式,嵌入方式和非嵌入(系统自带)嵌入就是输出的 pdf 会包含你的字体文件,系统自带的要求客户端必须有你指定的字体。
找到了原因,明白了原理,ok,动手吧
thinkphp5日志文件权限的问题
发布于:2021-1-5 11:32 作者:song100e 浏览:668 分类:ThinkPHP5 由于 www 用户和 root (developer)用户(比如 command 的 cli 进程日志)都有可能对 log 文件进行读写。
如果是由 www 用户创建的 log 文件,不会出任何问题。但是如果是先由 root 用户创建的 log 文件,然后再到 www 用户角色去写,就会出问题了。因为一般默认创建的 log 文件的权限是 -rw-r--r-, 也就是 www 没有权限去写入 root 用户创建的 log 文件。网上的方法大体就是像下面代码一样在 mkdir 的时候修改目录的权限。但是只能修改文件夹的权限,并没有修改文件夹下具体的 .log 文件的权限。
如果是由 www 用户创建的 log 文件,不会出任何问题。但是如果是先由 root 用户创建的 log 文件,然后再到 www 用户角色去写,就会出问题了。因为一般默认创建的 log 文件的权限是 -rw-r--r-, 也就是 www 没有权限去写入 root 用户创建的 log 文件。网上的方法大体就是像下面代码一样在 mkdir 的时候修改目录的权限。但是只能修改文件夹的权限,并没有修改文件夹下具体的 .log 文件的权限。
PHP8 正式发布稳定版
发布于:2020-11-27 13:52 作者:song100e 浏览:614 分类:PHP 2020 年 11 月 26 日, PHP正式发布稳定版 php8。一些新特性如Union Types (联合类型)Named Arguments (命名参数)、Match Expressions (Match表达式)、Attributes (注解)、Constructor Property Promotion (构造函数属性提升)、Nullsafe Operator (Null安全操作符)、Weak Maps(弱映射)、Just In Time Compilation (JIT)。And much much more...
其中最核心的当属即时编译JIT了。
关于 excel 导入手机号提取时被自动加上多余空万国码的问题
发布于:2020-11-24 8:51 作者:song100e 浏览:574 分类:PHP最近在做一个 excel 导入功能,通过phpexcel读取到的数据请求第三方接口,结果提示手机号码不正确,检查请求日志才知原来传递参数编码有问题,日志如下(部分已删除):
请求时间:2020-11-23 18:01:07
响应结果:url:https://xxxx.cn/v1/member/create-member-info?app_id=7727208a
data:{"mobile":"\u202d15677387000\u202c","password":"111111","source":"686"}
return:{"state":false,"code":0,"msg":"手机号格式不正确","data":""}
time:0.5885968208312988
网上一查原来别人也遇到过类似问题,通过去除特殊编码修正手机号码, 网上是java代码,转成php代码如下:
/** * @desc 去除特殊编码,修正手机号 */ function trimPhone($phone){ $tempPhone = ''; for ($i=0; $i<strlen($phone); $i++){ if(ord($phone[$i]) >= 48 && ord($phone[$i]) <= 57){ $tempPhone .= $phone[$i]; } } return $tempPhone; }