安装了 pcntl 的未定义 pcntl_signal_dispatch()
Undefined pcntl_signal_dispatch() with pcntl installed
我在 ubuntu 服务器 VM 上使用 pcntl
时遇到问题。
我有一个 PHP 脚本让线程做重复的事情。
我的服务器有 PHP.
的 pcntl 扩展
使用命令 php -me
输出:
calendar
ctype
curl
date
dom
filter
hash
iconv
json
libxml
mbstring
mysql
pcntl
pcre
PDO
pdo_mysql
pdo_sqlite
posix
Reflection
session
shmop
SimpleXML
SPL
SQLite
standard
tokenizer
xml
xmlreader
xmlwriter
zip
zlib
我在代码中添加了日志,所以我确定 pcntl_fork
、pcntl_wait
和 pcntl_wexitstatus
由脚本执行。
但是在使用 pcntl_signal_dispatch()
的线上,它崩溃并出现错误:
Call to undefined function pcntl_signal_dispatch()
欢迎提供任何线索:)
与大多数(如果不是全部)PCNTL 函数不同,pcntl_signal_dispatch()
需要 PHP 5.3 或更新版本:http://php.net/pcntl_signal_dispatch
所以你要么 运行 是一个非常旧的 PHP 版本,要么 php.ini 中禁用了该功能,但我猜是前者。
我在 ubuntu 服务器 VM 上使用 pcntl
时遇到问题。
我有一个 PHP 脚本让线程做重复的事情。
我的服务器有 PHP.
的 pcntl 扩展
使用命令 php -me
输出:
calendar
ctype
curl
date
dom
filter
hash
iconv
json
libxml
mbstring
mysql
pcntl
pcre
PDO
pdo_mysql
pdo_sqlite
posix
Reflection
session
shmop
SimpleXML
SPL
SQLite
standard
tokenizer
xml
xmlreader
xmlwriter
zip
zlib
我在代码中添加了日志,所以我确定 pcntl_fork
、pcntl_wait
和 pcntl_wexitstatus
由脚本执行。
但是在使用 pcntl_signal_dispatch()
的线上,它崩溃并出现错误:
Call to undefined function pcntl_signal_dispatch()
欢迎提供任何线索:)
与大多数(如果不是全部)PCNTL 函数不同,pcntl_signal_dispatch()
需要 PHP 5.3 或更新版本:http://php.net/pcntl_signal_dispatch
所以你要么 运行 是一个非常旧的 PHP 版本,要么 php.ini 中禁用了该功能,但我猜是前者。