是否可以清除PHP中的所有資源?清除資源
我知道你可以通過get_defined_vars 獲得所有已定義的功能,但你可以很容易地清除這些資源。
但這對我來說還不夠。我有一個運行很長時間(〜1小時30分鐘)的腳本來執行許多功能..但執行時腳本收集的信息不再重要..腳本導出產品,並且每個約0.2MB - 0.5MB產品(3200產品)
這是超過600MB的內存使用量。我儘可能地優化了腳本,但我並沒有把它縮小。
我可以通過get_included_files或get_declared_classes獲得所有包含的文件;是否可以清除這些信息?刪除類(除了一些需要像自動裝載機類)或其他包括的文件,以便我可以釋放更多的RAM?
或者您知道其他方式來優化服務器使用情況嗎?
也許這是一個愚蠢的問題,但我會很高興爲每個提示提高PHP腳本的性能。
腳本環境的信息:該腳本運行在舊版Magento 1.4上,該緩存和性能存在嚴重問題;目前不可能更新到新版本。
通常垃圾收集器足夠好,可以釋放任何未使用的引用本身,尤其是因爲它可以檢測自PHP5.3以來的循環引用。你真的達到了600MB? – KingCrunch 2012-08-01 14:48:03
你是否將任何數據存儲在變量中的sql記錄?你可以嘗試寫入磁盤然後解除它們。 – JohnP 2012-08-01 14:50:00
從它的聲音中,您想要在PHP腳本中間清除所有資源。我的建議是:不要。這聽起來像可能會導致可怕的事情(特別是因爲腳本可能仍然會與他們打交道)。相反,您應該進入代碼並關閉每個資源,因爲它不再需要。 – Palladium 2012-08-01 14:51:28