:

thinkphp5日志文件权限的问题

发布于:2021-1-5 11:32 作者:song100e 浏览:18 分类:ThinkPHP5
        由于 www 用户和 root (developer)用户(比如 command 的 cli 进程日志)都有可能对 log 文件进行读写。
如果是由 www 用户创建的 log 文件,不会出任何问题。但是如果是先由 root 用户创建的 log 文件,然后再到 www 用户角色去写,就会出问题了。因为一般默认创建的 log 文件的权限是  -rw-r--r-, 也就是 www 没有权限去写入 root 用户创建的 log 文件。网上的方法大体就是像下面代码一样在 mkdir 的时候修改目录的权限。但是只能修改文件夹的权限,并没有修改文件夹下具体的 .log 文件的权限。

阅读全文>>

标签: ThinkPHP

0

PHP8 正式发布稳定版

发布于:2020-11-27 13:52 作者:song100e 浏览:38 分类: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了。

php8-stable.PNG

阅读全文>>

标签: php8

0

关于 excel 导入手机号提取时被自动加上多余空万国码的问题

发布于:2020-11-24 8:51 作者:song100e 浏览:24 分类: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;
    }



标签: PHPExcel

0

Yii2 发送邮件

发布于:2020-9-24 13:47 作者:song100e 浏览:54 分类:Yii2

    1,Yii2.0会自带的 swiftmailer,所以不用安装,只需配置下就可以。

    2,获取 SMTP密码, 这里以网易 163为例。

    点击查看原图

阅读全文>>

标签: swiftmailer

0

Linux 监测进程脚本

发布于:2020-9-11 8:43 作者:song100e 浏览:53 分类:PHP
    这里以监测 swoole 的 socket 进程为例。
    在某些情况下,如系统负载过大 swoole 无法申请到内存而挂掉、swoole 底层发生段错误、Server 占用内存过大被内核 Kill,或者被某些程序误杀。那 websocket-server 将无法提供服务,导致业务中断,公司收入出现损失。
    有一个非常有效并且在 BAT 等大型公司常用的方案是 crontab 重启监控。
原理是每 1 分钟执行一次 shell 脚本,检测 swoole 的 websocket-server 进程是否存活,如果存在则跳过。如果发现主进程已经挂掉,则执行 restart 逻辑,先 kill 掉所有残留的子进程,然后重新启动 Server。

在系统的crontab中加入:

*/1 * * * * /data/script/check_socket.sh

阅读全文>>

标签: swoole

0

SAP ABAP 与 JSON 互转之 PHP 版本

发布于:2020-7-7 15:05 作者:song100e 浏览:87 分类:PHP
        最近有个小项目需要和第三方系统 SAP 对接,这里记录下遇到的问题。

        SAP ABAP 提供 RESTful web service 从技术层面需要解决的三个问题:

  1. SAP 对外提供 Http Service 接口。
  2. 在 SAP 端解决诸如 authentication,cookie, session 等 Http server 必须解决的问题
  3. SAP 端实现对响应 (response)以 json 格式返回给客户端,对客户端 json 格式的请求(request)解析并处理.

如何实现 ABAP 对象 与 JSON 互转,这里只介绍PHP版本


SAP_json.PNG

阅读全文>>

标签: SAP

0

Yii2 中 updateAll 参数多条件举例

发布于:2020-5-15 9:03 作者:song100e 浏览:80 分类:Yii2

        Yii2 中的 updateAll() 可以接受三个参数,$attributes, $condition, $params = null。 第一个参数是要更新的值,第二个是条件,如果第二个条件中用了占位符,就必须 要有第三个条件。

$updateData = ['push'=>1, 'push_time'=>date('Y-m-d H:i:s')];
$updateWhere= [
	'and',// 这个非常非常关键
	['shop_no'=>$shop_no],  // 门店
	['barcode'=>$barcodes], // 条码
	['between', 'date', $sdate, $edate]// 时间范围
];
Archive::updateAll($updateData, $updateWhere);

0

centos6.10 安装swoole

发布于:2019-12-28 13:42 作者:song100e 浏览:142 分类:PHP

标签: swoole

0

PHP 7.2 OpenSSL实现 DES 算法

发布于:2019-11-7 13:58 作者:song100e 浏览:238 分类:PHP
    最近公司在制作一个小程序,需要获取用户的基本信息,由于微信小程序更新了新的版本,需要加密验证,使用的就是openssl 扩展,所以在运行的时候出现了一个致命错误:openssl_decrypt 无法加密解密,我使用的是php7.2  mcrypt被移除了, 换成了openssl_decrypt。

阅读全文>>

解决 Yii2 composer 安装时出现的 Unzip 错误

发布于:2019-8-6 16:45 作者:song100e 浏览:158 分类:Yii2
最近公司有一个项目需要重构, 打算从 TP5 转到 Yii2,这两天着重搭建开发环境
在使用 composer 安装 Yii2 高级模板时出现如图这样的错误信息:
Unzip with unzip command failed, falling back to ZipArchive class。
2019-xhm.PNG

阅读全文>>

0

1 2 3 4 5 6