:

PHP安装AMQP扩展

发布于:2021-6-30 16:47 作者:song100e 浏览:110 分类: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

阅读全文>>

标签: amqp

0

TCPDF 中文支持解决方案

发布于:2021-3-18 11:46 作者:song100e 浏览:138 分类:PHP
        最近项目中有个小需求就是导出 pdf 文件, 浏览了一圈, 最后选择了 TCPDF, 过程中发现官方下载包并不能有好的支持中文。

解决步骤如下:
1.    确保你测试tcpdf能正常输出英文内容的pdf2.测试输入中文内容后显示是?的乱码或者空白分析原因,是因为我们输入的中文,TCPDF 字体库并不支持,因此乱码或者空白显示,添加一个合适的字体即可。另外 TCPDF 的字体分为两种方式,嵌入方式和非嵌入(系统自带)嵌入就是输出的 pdf 会包含你的字体文件,系统自带的要求客户端必须有你指定的字体。

找到了原因,明白了原理,ok,动手吧

阅读全文>>

标签: TCPDF

0

thinkphp5日志文件权限的问题

发布于:2021-1-5 11:32 作者:song100e 浏览:188 分类: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 浏览:234 分类: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 浏览:193 分类: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 浏览:183 分类:Yii2

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

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

    点击查看原图

阅读全文>>

标签: swiftmailer

0

Linux 监测进程脚本

发布于:2020-9-11 8:43 作者:song100e 浏览:168 分类: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 浏览:211 分类: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 浏览:181 分类: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 浏览:253 分类:PHP

标签: swoole

0

1 2 3 4 5 6