本文阐述如何在 Linux 下安装 PHP 的多线程扩展 - pthreads。
要求
笔者安装的是 pthreads v3。
- PHP 7.2 以上
- ZTS:线程安全
由于笔者的操作系统自带的 PHP 是非 ZTS 的,所以按照 PHP 编译安装详解 编译安装 PHP ZTS 版。
安装
安装有两种方式:pecl
和 源码安装,不过笔者尝试过 pecl
安装失败,上面的 pthreads 包也是 2016 年的,所以笔者放弃 pecl
安装方式,
本文将使用源码编译安装。
1$ git clone https://github.com/krakjoe/pthreads.git
2$ cd pthreads
3
4$ /usr/local/php72/bin/phpize
5$ ./configure --with-php-config=/usr/local/php72/bin/php-config
6
7$ make
8
9$ make install
10Installing shared extensions: /usr/local/php72/lib/php/extensions/no-debug-zts-20170718/
./configure --with-php-config
:--with-php-config
是可选的,但由于笔者是编译安装的,所以可能需要指定 PHP 的配置脚本路径,以避免意想不到的问题。
上述
phpize
、php-config
等脚本请按照自己系统的配置自行修改。
配置
安装成功后,在配置文件加入一行 extension=pthreads.so
,比如笔者的 CLI
配置为:/usr/local/php72/lib/php-cli.ini
:
1$ vi /usr/local/php72/lib/php-cli.ini
2
3extension=pthreads.so
这里笔者特意分开命令行和其他模式的配置文件,因为
pthreads
仅限于 CLI 模式使用。
验证是否成功加载:
1$ php72 -m | grep pthreads
2pthreads
如果没有输出,则说明配置不对,请检查配置是否正确。可以通过 php72 --ini
查看所加载的配置文件是否分正确。
php72
是笔者自行编译的 PHP ZTS 版脚本,请修改成你系统对应的脚本名称。
自此,pthreads
安装完成。