PHP / CentOS - 无法打开流:太多打开的文件

时间:2012-08-17 19:06:58

标签: php apache filesystems centos

有点不清楚这是PHP / Apache问题还是文件系统问题。我正在编写一个脚本来检查LDAP服务器的引用完整性,所以我要提取大量数据。我正在使用PHP 5.3.8,Apache 2.2.3和CentOS 5.7(我认为这是正确的版本)

当我运行脚本时,我收到一条PHP警告:

  

警告:include(“fileName”):无法打开流:第50行“fileName”中打开的文件太多警告:include():无法打开包含的“fileName”(include_path ='。:/第50行“fileName”中的usr / local / zend / share / ZendFramework / library:/ usr / local / zend / share / pear')

我已经删除了很多代码以包含更少的文件,但似乎没有什么区别。我认为这可能是因为我拉了多少数据(可能是由于颠簸)所以我限制它并输出7.5 MB的峰值内存使用量(在我限制返回结果之后)这是一个不错的块但不是足以杀死剧本。

在所有这些中,我搜索了该问题并发现它可能是由文件系统打开文件限制引起的,可以通过名为ulimit的命令进行更改。默认值为1024.我为所有用户设置为40000。仍然没有帮助。剥离后,我的PHP脚本总共使用了11个文件。我只是不明白为什么会这样。

任何想法?

提前致谢,

约旦

1 个答案:

答案 0 :(得分:0)

您是否修改了该用户的软限制和硬限制?此外,如果这是在用户说“apache_user”下运行的Apache进程,则需要停止Apache,注销,重新登录(确保软/硬限制都已到位)并启动Apache进程。 / p>