簡體   English   中英

PHP / CentOS-無法打開流:打開的文件太多

[英]PHP / CentOS - failed to open stream: Too many open files

不清楚這是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行的“ fileName”中

我削減了很多代碼以包含更少的文件,而且似乎沒有什么不同。 我認為這可能是因為我提取了多少數據(可能是由於抖動),所以我限制了它並輸出了7.5 MB的峰值內存使用量(在我限制了返回結果之后),這是一個不錯的塊,但不是足以殺死腳本。

在所有這些中,我搜索了這個問題,發現它可能是由文件系統打開文件限制引起的,該文件限制可以通過稱為ulimit的命令進行更改。 默認值為1024。我為所有用戶將mine設置為40000。 仍然沒有幫助。 刪除后,我的PHP腳本總共使用了11個文件。 我只是不明白為什么會這樣。

有任何想法嗎?

提前致謝,

約旦

您是否為該用戶修改了軟​​限制和硬限制? 另外,如果這是一個在用戶“ apache_user”下運行的Apache進程,則您將需要停止Apache,注銷,重新登錄(確保軟/硬限制均已到位)並啟動Apache進程。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM