補充試過的方法有
1.wp-config.php 裡新增
define('WP_MEMORY_LIMIT', '256M'); 後來改512M也不行
2.php.ini 裡修改
memory_limit = 256M 後來改512M也不行
3.甚至我也改了 PHP上傳檔案的限制
max_execution_time
max_input_time
post_max_size
upload_max_filesize
default_socket_timeout
mysql.connect_timeout
這幾個參數
4.我也有到wp-includes目錄下的default-constants.php 更改數值 我最後還改到800
if ( ! defined( 'WP_MEMORY_LIMIT' ) ) {
if ( false === wp_is_ini_value_changeable( 'memory_limit' ) ) {
define( 'WP_MEMORY_LIMIT', $current_limit );
} elseif ( is_multisite() ) {
define( 'WP_MEMORY_LIMIT', '800M' );
} else {
define( 'WP_MEMORY_LIMIT', '800M' );
}
}
if ( ! defined( 'WP_MAX_MEMORY_LIMIT' ) ) {
if ( false === wp_is_ini_value_changeable( 'memory_limit' ) ) {
define( 'WP_MAX_MEMORY_LIMIT', $current_limit );
} elseif ( -1 === $current_limit_int || $current_limit_int > 838860800 /* = 800M */ ) {
define( 'WP_MAX_MEMORY_LIMIT', $current_limit );
} else {
define( 'WP_MAX_MEMORY_LIMIT', '800M' );
}
}
記憶體不足:
資料庫的記憶體能否調整呢?
我的外掛應該都還好吧
全部插件關掉 就不會出現記憶體不足了
可是問題是那些插件我都需要阿..
我是自己架設的,阿帕契記憶體用很兇每次記憶體使用到2.9G的時候網站就很容易出現記憶體不足 可是我實體記憶體有4G
然後不知道正不正常 真的會用到2G多嗎?
實體記憶體有4G,阿帕契每次記憶體使用到2.9G就很容易出現記憶體不足
這就是解答,請再增加你的實體記憶體,還有你應該是 64位元的OS吧
我主機總記憶體是24G 4G是VMware分配的實體記憶體 我試過分配6G 也沒有用 到2.9G 或有時候2.5G 就會出現Out of memory,我作業系統是64位元沒錯,然後我有注意看當我發一篇字數和媒體檔案較多的文章按發布的一瞬間 記憶體會飆到3G 然後順間又掉到1G多,然後就會出現Out of memory。
連續上傳媒體檔案的圖片檔也會Out of memory
現在我已經把網站資料轉移虛擬主機就沒發生了。
所以您的真實問題是出現在上傳檔案上. 以下是基本觀念:
用HTTP上傳檔案, Apache會交給PHP腳本進行上傳, 所有的上傳資料都在記憶體中, 因此, 記憶體用量會飆高. PHP沒有足夠的記憶體就會發生錯誤. 那這是誰的問題? Apache!. Apache是程序式(process-based)伺服器, 如果您在同一個程序中塞入一堆資料進記憶體, 就有機會不夠. 建議使用事件式(event-based)伺服器, 如Nginx.
謝謝大師的講解,但是是不是因為Apache是32位元所以每次只能使用到3G多? 我就算有6G 也會記憶體不足
您的Apache是32位元? 其他的實體記憶體都是看不到的.
巧婦難為無米之炊