我想使用pthreads与php 7.0.8 (ZTS)(手动编译和配置)我在编译php时添加了以下配置:
--enable-maintainer-zts '
--enable-pthreads=shared '
--with-tsrm-pthreads '
注意:fpm正在运行,pid 25546
注意:准备好处理连接
我添加pthread扩展pecl: pecl install pthreads-3.1.6
和我添加extension=pthreads。进入我的php。ini。但是在重新启动php7-fpm后,php-fpm没有运行:
注意:整理…
注意:退出,再见!
我有一个502 nginx错误。
如何在我的php.ini中添加这个扩展而不退出php-fpm ?
您应该使用php-cli来使用pthreads。可以为CLI创建第二个php.ini配置:
-
首先,将不存在的php.ini拷贝到php-cli.ini:
cp /PATH_OF_YOUR_PHP_INSTALLATION/php.ini /PATH_OF_PHP_INSTALLATION/php-cli.ini
-
然后,用PECL安装pthreads(如果php是用
--enable-maintainer-zts ' --enable-pthreads=shared ' --with-tsrm-pthreads
)pecl install pthreads
-
然后,将扩展的配置添加到php-cli.ini:
echo "extension=/PATH_OF_EXTENSION/pthreads.so" >>/PATH_OF_PHP_INSTALLATION/php-cli.ini
-
最后,重新启动php7-fpm服务:
service php7-fpm restart
你可以测试pthread的安装是否工作,创建一个测试类并使用php执行它:创建文件:ImportWorker.php
<?php
class ImportWorker extends Worker {
private $data;
public function __construct($_data) {
$this->data = $_data;//
}
public function run(){
var_dump("Worker test");
}
}
执行:php ImportWorker.php
->如果你有任何错误,那就是pthreads不工作