pthreads扩展加载在php-cli.ini

时间:2016-01-25 13:50:08

标签: 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/php-cli.ini, /Users/username/Terminal/WebServer/ini/php.ini

我在 php-cli.ini 文件中添加了extension=pthreads.sophp -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
  • 中加载pthread.so
    我的环境是Mac OSX 10.11,PHP 7.0.2,Apache 2.4.18
    apache的mpm是worker,我启用了php的线程安全性并将pthreads编译为共享模块。

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

    1 个答案:

    答案 0 :(得分:0)

    pthreads扩展在所有SAPI中自动禁用,但CLI。你不能将pthread用于apache_mod或php-fpm。