proc_open长时间运行的Symfony控制台应用程序中打开的文件过多

时间:2014-04-22 08:51:21

标签: php symfony symfony-components

我使用Symfony控制台组件构建了一个控制台应用程序。它应该运行5个小时。但在运行2小时后,我在第985行的proc_open(): unable to create pipe Too many open files中出现Symfony\Component\Console\Application.php错误。

我在循环中尝试了gc_collect_cycles,但得到了同样的错误。

这是一个Symfony控制台组件错误还是我不应该长时间运行应用程序(但我必须)?

2 个答案:

答案 0 :(得分:0)

此问题与以下内容有关: https://bugs.php.net/bug.php?id=47396

显然,您正在处理应用中的大量资源。它不是Symfony控制台的错误,它是一个PHP错误。

您可以使用其他编程语言或修改程序以打开更少的文件。

答案 1 :(得分:0)

我在Symfony网络应用程序中遇到了同样的错误,restarting PHP解决了这个问题。

我感谢您在命令的5小时运行期间无法做到这一点,但是可能事先做到这一点会让PHP处于一个足够干净的状态,让您完整的5小时?

(另外,这篇文章是我发现的唯一一个关于我的问题的帖子,所以我想在这里添加它,以防其他人和我有同样的问题!)