有点不清楚这是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个文件。我只是不明白为什么会这样。
任何想法?
提前致谢,
约旦
答案 0 :(得分:0)
您是否修改了该用户的软限制和硬限制?此外,如果这是在用户说“apache_user”下运行的Apache进程,则需要停止Apache,注销,重新登录(确保软/硬限制都已到位)并启动Apache进程。 / p>