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

在php-cli.ini中加载pthreads扩展失败,php,macos,pthreads,Php,Macos,Pthreads,我已经完成了所有的构建和设置,现在我正在尝试加载pthreads扩展,但是我遇到了这个问题 php扫描其他目录并查找 Additional .ini files parsed /Users/username/Terminal/WebServer/ini/php-cli.ini Additional .ini files parsed /Users/username/Terminal/WebServer/ini/cli.ini 另外 Additional .ini files parsed

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

php扫描其他目录并查找

Additional .ini files parsed 
/Users/username/Terminal/WebServer/ini/php-cli.ini
Additional .ini files parsed 
/Users/username/Terminal/WebServer/ini/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
[PHP Modules]
Core
date
pcre
Reflection
SPL
standard
$ php -m
[PHP Modules]
Core
date
pcre
pthreads
Reflection
SPL
standard
Apache启动失败,当我删除或注释掉
extension=pthreads时。因此
line,
php-m
命令列出了以下模块:

Warning: Module 'pthreads' already loaded in Unknown on line 0
[PHP Modules]
Core
date
pcre
pthreads
Reflection
SPL
standard
[PHP Modules]
Core
date
pcre
Reflection
SPL
standard
$ php -m
[PHP Modules]
Core
date
pcre
pthreads
Reflection
SPL
standard
我尝试将php cli.ini重命名为cli.ini,发现了一些不同的东西……

php扫描其他目录并查找

Additional .ini files parsed 
/Users/username/Terminal/WebServer/ini/php-cli.ini
Additional .ini files parsed 
/Users/username/Terminal/WebServer/ini/cli.ini
php-m
命令列出了以下模块:

Warning: Module 'pthreads' already loaded in Unknown on line 0
[PHP Modules]
Core
date
pcre
pthreads
Reflection
SPL
standard
[PHP Modules]
Core
date
pcre
Reflection
SPL
standard
$ 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
  • 我没有pthreads.so,所以在php.ini中加载

  • 我的环境是Mac OSX 10.11、PHP7.0.2、Apache 2.4.18
    apache的mpm是worker,我启用了php的线程安全,并将pthreads编译为共享模块


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

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

    检查apache的phpinfo()以查看解析了哪些ini文件。解析了其他.ini文件/Users/username/Terminal/WebServer/ini/php-cli.ini、/Users/username/Terminal/WebServer/ini/php.ini,您也会解析php-cli.ini,这会导致加载pthreads并拧紧apache start。查看php.ini以了解为什么包含php-cli.ini。如何禁用php-cli.ini的加载?禁用“扫描附加ini文件”也许?您可以这样做。通常,在许多Linux发行版中,每个SAPI都有单独的文件和文件夹。既然你在Windows上,我真的不能指导你。此外,此设置必须在编译时完成(使用configure)。所以你完蛋了:D