我的centos版本是7.4.1708,php的版本是7.2.4(注意要是线程安全版),如下图所示:
首先我们在如下网址下载好pthreads的源码:
http://pecl.php.net/package/pthreads
如:pthreads-3.1.6.tgz
1、解压、并进入目录
> tar xf pthreads-3.1.6.tgz
> cd pthreads-3.1.6
2、运行phpize,生成configure,如果没有配置PATH的,可以打上绝对路径。
> phpize
3、运行configure
> ./configure --with-php-config=/data/php72/bin/php-config
4、运行make && make install
> make && make install
如果出现如下情况,说明你的PHP与pthreads版本不兼容,如下图所示:
我们需要在github上搜索pthreads
> https://github.com/krakjoe/pthreads
注意下载zip包,我们要用最新的,不要进去releases,如果你的PHP版本是7.1可以去试试。
如:pthreads-master.zip
> unzip pthreads-master.zip
> cd pthreads-master
其余步骤跟上面一样
如果你看到如下信息,说明你编译成功了。
(注意这里面有个坑,不要在php.ini下配置pthreads扩展,不然php-fpm无法启动,因为pthreads v3版本只能运行在cli下)
通过如下命令查看ini文件位置:
> php --ini
然后在php.ini目录下复制一份,命名为php-cli.ini
> cp php.ini php-cli.ini
修改php-cli.ini文件
extension_dir = "/data/php72/lib/php/extensions/no-debug-zts-20170718/"
extension=pthreads.so
重启php服务,查看pthreads扩展是否装上
> php -m | grep pthreads