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


proc_open Too many open files in long running Symfony Console app

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

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

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

我在Symfony web应用程序中遇到了同样的错误,重新启动PHP解决了这个问题

我很感激你不能在命令运行5小时的过程中这样做,但也许提前立即这样做会让PHP处于足够干净的状态,给你整整5小时的时间?

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

此问题与:https://bugs.php.net/bug.php?id=47396

显然,您正在应用程序中处理大量资源。这不是Symfony控制台错误,而是PHP错误。

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