我有一個腳本,加載大量目錄列表,只是(在它的性質)需要永久加載。我現在在某些情況下會遇到腳本超時,並且很好奇,如果我可以使用像睡覺一樣的東西來防止腳本超時,或者只是讓情況變得更糟?PHP usleep,以防止腳本超時
0
A
回答
1
PHP可以嘗試尋找一個文件/目錄,所以如果你已經在使用類似的東西,不適合長期存在:我沒有說過一句話
if ((is_dir($path) || file_exists($path)) && ($dh = opendir($path)))
{
while(($file = readdir($dh)) !== false)
{
.. file or dir is found, do stuff :)
}
closedir($dh);
}
,但如果您只需使用:
$dh = opendir($path);
腳本超時可能需要幾分鐘時間,但它不會執行任何操作。
3
您不能使用set_time_limit()來設置超時限制嗎?
如果將其設置爲0,該腳本將永遠運行。
set_time_limit(0);
Usleep()將在給定時間內停止執行PHP腳本。那段時間你的腳本不會列出任何目錄等。它只會凍結腳本,直到允許繼續。
0
您可以嘗試set_time_limit
或者看看是否可以優化代碼:
- 您的系統上執行
ls -l > results.txt &
使上市的背景,並將其複製到RESULTS.TXT文件啓動。 - 使用子目錄
1
您在使用RecursiveDirectoryIterator生成目錄列表試圖減少你的目錄中的文件的數量?
我曾經使用遞歸函數生成目錄列表,當我不得不使用大量文件進入更深層次時,無意中導致腳本超時。使用RecursiveDirectoryIterator解決了我的許多問題。
相關問題
- 1. 暫停PHP腳本,以防止超時
- 2. 防止PHP腳本
- 3. 如何防止瀏覽器超時(長PHP腳本)
- 4. 使用巨大的PHP腳本防止504網關超時
- 5. 防止在PHP中超時
- 6. curl_exec超時可以終止腳本?
- 7. 防止PHP腳本同時運行
- 8. PHP腳本超時
- 9. PHP「ping」來防止網頁超時
- 10. 當查詢大型數據集,防止腳本超時
- 11. PHP腳本超時問題
- 12. PHP備份腳本超時
- 13. 調試php腳本超時?
- 14. suPHP/PHP腳本超時
- 15. PHP + SQL腳本 - 防止SQL注入
- 16. 防止PHP腳本被淹沒
- 17. 防止PHP中的跨站點腳本
- 18. 如何防止腳本
- 19. php腳本可以停止?
- 20. 防止被腳本抓取
- 21. PHP usleep與同時請求
- 22. 優化PHP腳本以防止max_execution_time限制
- 23. 防止掛起超時?
- 24. 防止Citrix會話超時
- 25. 如何防止多個加載PHP腳本調用JS腳本?
- 26. PHP彗星usleep阻止Apache MPM?
- 27. 防止PHP腳本同時運行多次的最佳方法?
- 28. 如何防止PHP腳本在同一時間運行?
- 29. 防止php腳本同時運行和兩次
- 30. 防止Dreamweaver在保存時執行PHP腳本
怎樣才能防止執行超時? – MatTheCat
您是否生成任何輸出?有時apache會殺死一個活動的請求,如果它已經運行了很長時間而沒有發送任何輸出到客戶端。 –
是否需要爲每個請求加載目錄列表?你可以運行一個週期性的任務來緩存文件列表嗎? – 2011-11-12 23:36:38