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.ini 重命名为 cli.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.ini
  • 中加载 pthreads.so
    我的环境是MacOSX10.11,PHP7.0.2,Apache 2.4.18
    apache 的 mpm 是 worker,我启用了 php 的线程安全并将 pthreads 编译为共享模块。

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

    pthreads 扩展在除 CLI 之外的所有 SAPI 中都是自愿禁用的。您不能将 pthreads 与 apache_mod 或 php-fpm.

    一起使用