迁移到php71后,我遇到了pcntl_signal
的问题。
我已经安装了php71(brew install php71 --with-httpd24 --with-imap --with-postgresql
)及其pcntl扩展程序(brew install homebrew/php/php71-pcntl
),但pcntl_signal()
仍无法正常工作
请帮助我,因为我不明白为什么它不起作用。
P.S。我正在运行与php56相同的代码
答案 0 :(得分:1)
经过一些研究后,我发现在php71中引入了一个名为pcntl_async_signals()
的新函数,所以现在在文件开头使用declare(ticks = 1);
而不是pcntl_async_signals(true);
1}}
对于我的特殊情况,我修复了如果:
<?php
namespace AppBundle\Command;
if (function_exists('pcntl_async_signals')) {
// for php 7.1
pcntl_async_signals(true);
} else {
// for php 4.3.0+ (up to 7.0)
declare(ticks = 1);
}
abstract class AbstractCommand {
// use pcntl_signal() where you need
}
P.S。链接到documentation