【问题标题】:pthread with php 7.0.8 (ZTS)pthread 与 php 7.0.8 (ZTS)
【发布时间】:2016-11-06 04:16:16
【问题描述】:

我想在 php 7.0.8 (ZTS) 中使用 pthreads(手动编译和配置) 我在编译 php 时添加了以下配置:

--enable-maintainer-zts \
--enable-pthreads=shared \
--with-tsrm-pthreads \

注意:fpm 正在运行,pid 25546

注意:准备好处理连接

我使用 pecl 添加 pthread 扩展:pecl install pthreads-3.1.6 并将 extension=pthreads.so 添加到我的 php.ini 中。但是重启php7-fpm后,php-fpm没有运行:

注意:完成...

注意:退出,再见!

我有一个 502 nginx 错误。

如何在不退出 php-fpm 的情况下在我的 php.ini 中添加这个扩展?

【问题讨论】:

    标签: php nginx pthreads debian php-7


    【解决方案1】:

    你应该使用 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 不工作。

    【讨论】:

      猜你喜欢
      • 2018-06-20
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-01-12
      • 1970-01-01
      • 2017-11-29
      • 1970-01-01
      • 2015-07-21
      相关资源
      最近更新 更多