返回列表 回復 發帖

[分享] php.ini 的 memory_limit 最佳設置

[分享] php.ini 的 memory_limit 最佳設置

見php手冊:
名稱                    默認值         可修改範圍
memory_limit         「8M」         PHP_INI_ALL

以下是配置選項的簡要解釋。memory_limit integer
本指令設定了一個腳本所能夠申請到的最大內存字節數。這有助於防止寫得不好的腳本消耗光服務器上的可用內存。要使用此指令必須在編譯的時候激活。因此 configure 一行中應該包括:–enable-memory-limit。如果不需要任何內存上的限制,必須將其設為 -1。
自 4.3.2 起,當激活了 memory_limit,PHP 函數 memory_get_usage() 便可以使用了。
當使用 integer 類型時,其值以字節為度量單位。還可以用簡化符號,說明見此 FAQ。

工作上有很多事情會用到php寫script,
有些script需要較大量的memory,你可能會看到類似「Allowed memory size of 8388608 bytes exhausted (tried to allocate 46080 bytes) in.....」的訊息。
這是因為 php.ini裡的 memory_limit不夠大的關係。
memory_limit是設置PHP使用內存時空間,一般設置為內存的四分之一,應該就查不多了。如512M內存設置128M,1G內存設置256M。設置太大會影響系統速度,因為系統和數據庫及其他程序同樣需要內存空間,一般系統和數據庫內存空間是自己分配的。
返回列表