0

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

当我运行脚本时,我收到一个 PHP 警告,上面写着:

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

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

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

有任何想法吗?

提前致谢,

约旦

4

1 回答 1

0

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

于 2012-08-17T21:29:22.970 回答