1. 首页
  2. Linux

(宝塔/CentOS7)php7.3安装pthreads扩展使用多线程

本文服务器环境为CentOS7.3+宝塔管理面板,记录一下折腾的过程。

重新编译PHP

宝塔面板安装的PHP7.3在编译安装时并没有加入–enable-maintainer-zts参数,也就是非线程安全版。所以第一步需要重新编译宝塔安装的PHP7.3。

如果此前你是采用快速安装的方式安装服务器上的 PHP ,请直接卸载 PHP ,然后重新安装 PHP ,选择编译安装。此时宝塔面板会自动获取编译安装版本的 php.sh ,这个时候可以直接去宝塔面板的任务列表里取消安装 PHP 的任务。(这一步的目的仅仅只是为了获取编译安装版本的 php.sh ,因为快速安装和编译安装使用的脚本是不一样的。)

php.sh 位于 /www/server/panel/install

(宝塔/CentOS7)php7.3安装pthreads扩展使用多线程

 

找到 php.sh 里 Install_PHP_73() 函数的这几行

在./configure后的参数末尾加上 –enable-maintainer-zts,注意参数间用空格隔开。

在 php.sh 中可以发现有下面这样一段代码

(宝塔/CentOS7)php7.3安装pthreads扩展使用多线程

所以使用下面的命令就可以使用我们修改过的 php.sh 安装PHP7.3了。

等待安装完成后,在面板里查看PHP7.3也已经成功安装完成了。

 

安装pthreads

(注意这里面有个坑,不要在直接在宝塔面板中直接修改 php.ini 配置pthreads扩展,不然php-fpm会无法启动,因为pthreads v3版本只能运行在cli下)

通过如下命令查看ini文件位置:

(宝塔/CentOS7)php7.3安装pthreads扩展使用多线程

进入 php ini 文件的目录

复制一份cli的配置文件(命令行)

然后在 php-cli.ini 中追加pthreads扩展的配置

在宝塔中重启php服务,再执行以下命令,查看pthreads扩展是否已安装

完成。

 

小结

1、在获取GitHub上pthread源码编译时并非从release页面中获取源码,而是使用这个URL获取:https://codeload.github.com/krakjoe/pthreads/zip/master,其实就是直接点击download zip得到的zip文件。

(宝塔/CentOS7)php7.3安装pthreads扩展使用多线程

2、在编译完扩展后直接在宝塔面板中修改 php.ini 文件加入 extension=pthreads.so 后无法启动 php-fpm ,即使是重启服务器也一样,这点需要注意

 

 

 

 

 

原创文章,作者:keyboardman,如若转载,请注明出处:http://blog.keyboardman.fun/php/333.html

发表评论

电子邮件地址不会被公开。 必填项已用*标注