gpt4 book ai didi

php - pthread 与 php 7.0.8 (ZTS)

转载 作者:行者123 更新时间:2023-12-05 04:13:18 30 4
gpt4 key购买 nike

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

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

NOTICE: fpm is running, pid 25546

NOTICE: ready to handle connections

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

NOTICE: Finishing ...

NOTICE: exiting, bye-bye!

我有一个 502 nginx 错误。

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

最佳答案

您应该使用 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 没有工作。

关于php - pthread 与 php 7.0.8 (ZTS),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38184582/

30 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com