2013-07-30 38 views
0

在我的Wordpress安裝中,自升級到最新版本3.5.2以來,我目前無法添加新帖。點擊郵政>添加新顯示以下錯誤:無法在Wordpress中添加新帖:內存錯誤

Fatal error: Allowed memory size of 268435456 bytes exhausted (tried to allocate 491520 bytes) in /var/www/www.mysite.com/wp-admin/edit-form-advanced.php on line 306 

出於測試目的,我有禁用所有插件運行默認模板(二十十一)。

我在php.ini,wp-config.php和default-constants.php中增加了512M的內存,但我似乎無法通過這個錯誤(這似乎顯示了一個允許只有256M)。

只是FYI ....數據庫不是新的 - 它有超過一千個職位。此問題只發生在某些管理員用戶,其他人可以看到帖子>添加新屏幕,但仍然看到管理區域中的其他頁面上的內存問題。

任何幫助將不勝感激。謝謝!

+0

你編輯了正確的'php.ini'嗎?你使用Apache還是fast-cgi或者suhosin補丁? – DanFromGermany

+0

使用nginx ...我確定我只編輯了正確的php.ini,因爲使用php_info()重新啓動後證實它正確顯示了512MB的分配。不過謝謝......這是我的雙重和三重檢查。 – Michael

+0

只需檢查。您確實重新啓動了nginx和fast_cgi服務嗎? –

回答

0

經過大量的努力工作,加上一些額外的外部幫助,我已經解決了這個問題。事實證明,這是在設置爲跟蹤彈出幫助消息的用戶帳戶下的元數據累積。它被安全地刪除,並且一旦被移除,將網站的加載速度提高約30%,並修復了我們所有的管理問題,包括此處列出的所有問題。

簡單的解決方法...只是運行下面的查詢對你的WordPress數據庫:

DELETE FROM wp_usermeta WHERE meta_key = 'dismissed_wp_pointers' 

我也讀了添加幾個指標的元數據可以幫助在性能上一點爲好,所以如果你正在尋找一個快速的調整,請嘗試以下兩個SQL調用,以及:

ALTER TABLE wp_usermeta ADD INDEX USING BTREE (meta_value(255)); 
ALTER TABLE wp_postmeta ADD INDEX USING BTREE (meta_value(255)); 

希望幫助任何人以同樣的問題!

+0

索引值列有什麼意義? – egiray

0

/wp-admin/admin.php上線108:

if (current_user_can('manage_options')) 
    @ini_set('memory_limit', apply_filters('admin_memory_limit', WP_MAX_MEMORY_LIMIT)); 

這可能是爲什麼它的一些管理用戶,而不是別人。

您可以設置常量在wp-config.php文件的根目錄下的wp,像這樣:

define('WP_MAX_MEMORY_LIMIT', '512M'); 

但是,你真的不應該需要做的......好像還有別的事情.. 祝你好運。

+0

噢,你說你已經這樣做了......不確定那麼:( –

+2

)如果你真的很絕望,找到do_action函數,並且回顯標籤名稱,你會看到所有動作鉤子的垃圾郵件你會看到它的轟炸位置 –

+0

謝謝,邁克。是的,我編輯了wp-config.php ...我已經在這裏工作了很長一段時間,並且一直在嘗試一切!我會給do_action回聲技巧一個去看看顯示什麼。謝謝! – Michael

相關問題