我在一个 PHP 5.6 / Symfony 2.7 项目中遇到了一个奇怪的 PHP 错误,该项目通过 Apache 在 CentOS6 服务器上运行。
我有一个 Symfony 控制台命令作为服务运行,它每 2 秒启动一些其他控制台命令。我使用 Symfony Process 组件来启动子流程并进行超时管理。并且一切都已完成以避免从主命令启动并行进程。
我遇到的问题是,有时 php 控制台命令在完成它们的过程后不会停止。这意味着如果我手动启动命令,一切都在 PHP 端正常运行,但在 PHP 语句完成后我不会在控制台上重新启动,除非我使用 Ctrl+C。
当 PHP 版本为 5.5 时,此问题发生了很多次,但现在使用 PHP 5.6,它(仅)随机发生。当它发生时,我可以看到很多卡住的 php 子进程,可能是由主命令启动的。
我只是找不到任何解释,因为 php 命令不会引发任何错误。只是控制台卡住并等待完成。
有没有人可以解决这个问题?