php記憶體不斷增大的解決方法:1、打開對應的php檔;2、把循環體內的路徑改成絕對路徑;3、把變數「$file_dir」釋放掉,直接寫成「include ('...');」;4、呼叫shell腳本釋放掉linux系統的記憶體即可。
本教學操作環境:Windows7系統、PHP8.1版、Dell G3電腦。
php記憶體不斷增大怎麼辦?
具體問題描述:
php記憶體不斷增長問題
有這樣一段程式碼
set_time_limit(0); while (true){ $file_dir='data/cache/123.php'; include ($file_dir); sleep(1); }
這段程式碼是永無止境的循環程式碼,現在有個問題當每次循環的時候include就會從新加載,也是必須重新加載的因為每次循環都要求讀取最新的123.php文件,所以不能用include_once,問題就在這兒,每循環加載一次123.php文件,內存就增加4K,這樣下去在高並發的情況下,一會兒就把內存吃光了,如何才能循環一次就釋放一次include所增加的內存?
問題分析與解決:
為什麼放快取,還要不斷包含...
這4k記憶體可能是檔案開啟時佔用的,你試路徑寫在絕對路徑...
把變數$file_dir釋放掉,直接寫成include('檔案絕對路徑');
你可以執行幾秒後呼叫shell腳本釋放掉linux系統的記憶體....win serv那就不知道....
#推薦學習:《PHP影片教學》
以上是php記憶體不斷增大怎麼辦的詳細內容。更多資訊請關注PHP中文網其他相關文章!