我用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错误。
您可以使用另一种编程语言或修改程序以打开更少的文件。