pthreads 扩展加载在 php-cli.ini 中失败


pthreads extension loading fails in php-cli.ini

我已经构建和设置了所有内容,现在我正在尝试加载 pthreads 扩展,但我遇到了这个问题。

PHP 扫描其他目录并找到

Additional .ini files parsed 
/Users/username/Terminal/WebServer/ini/php-cli.ini

此外

Additional .ini files parsed    /Users/username/Terminal/WebServer/ini/php-cli.ini, /Users/username/Terminal/WebServer/ini/php.ini

我在 php-cli .ini 文件中添加了extension=pthreads.so php -m命令列出了以下模块:

Warning: Module 'pthreads' already loaded in Unknown on line 0
[PHP Modules]
Core
date
pcre
pthreads
Reflection
SPL
standard

Apache无法启动,当我删除或注释掉extension=pthreads.so行时,php -m命令列出了以下模块:

[PHP Modules]
Core
date
pcre
Reflection
SPL
standard

我尝试将php-cli重命名.inicli.ini并发现了不同的东西。

PHP 扫描其他目录并找到

Additional .ini files parsed 
/Users/username/Terminal/WebServer/ini/cli.ini

php -m命令列出以下模块:

$ php -m
[PHP Modules]
Core
date
pcre
pthreads
Reflection
SPL
standard

这是预期的,但是当重新启动Apache时,它无法启动,以下是错误日志

PHP Fatal error:  The apache2handler SAPI is not supported by pthreads in Unknown on line 0
PHP Fatal error:  Unable to start pthreads module in Unknown on line 0

  • 我没有在 php 中加载 pthreads.so.ini

  • 我的环境是Mac OSX 10.11,PHP 7.0.2,Apache 2.4.18
    apache的mpm是worker,我已经启用了php的线程安全并将pthreads编译为共享模块。 我

    做错了什么,我该如何解决这个问题?

    pthreads 扩展在所有 SAPI 中都是自愿禁用的,但 CLI 除外。你不能将 pthreads 与 apache_mod 一起使用,也不能使用 php-fpm。