2012-10-21 73 views
1

我有一個自定義帖子類型,現在有超過10萬帖子。當我嘗試在管理面板中轉到帖子類型的主頁時,出現錯誤:如何有一個自定義帖子類型不查詢所有帖子

致命錯誤:94371840字節允許的內存大小(嘗試分配84個字節)位於/ home /在線506上的spottercharts/spottercharts.com/wp-includes/cache.php

主頁面通常會列出所有屬於該類型的帖子。由於有這麼多,它正在吃掉所有的PHP內存。

如果增加php.ini中的PHP內存不是一個選項,是否有另一種方法讓Wordpress不查詢該類型的所有帖子?我只需要搜索帖子的能力,而不是全部列出。如果不是,有沒有辦法優化這個帖子類型,所以它不會消​​耗太多的內存?

回答

2

我不得不問的第一件事是,你是如何獲得超過10萬的職位?在你的數據庫中,作爲單獨的帖子,這確實是一件非常糟糕的事情,我懷疑它們不是全部實際的帖子,而是被用於其他目的?

你這裏有幾個選項:

短期 - 內存限制

內存的限制可以在服務器上以多種方式進行修改,這取決於您的服務器配置或你的主機允許。如果您沒有root權限,則可以將php.ini文件放入您網站的主目錄中。

另外,通過添加修改.htaccess文件如下:

php_value memory_limit 256M 

當你使用Wordpress,您還可以添加以下行到您的wp-config.php文件:

define('WP_MEMORY_LIMIT', '256M'); 

更好方法

顯然上面是一個很好的方法,至少得到網站運行速度很快,但實際上這是非常高的使用率。

一些建議,你如何能提高你的內存使用情況:

  1. 減少數據庫的大小。有沒有其他方法可以用來減少你有多少個帖子?
  2. 請確保您要求使用query_posts時要返回的特定號碼。這將確保它停止從數據庫拉太多,因此離開服務器更少處理。

還有許多其他的事情可以做,但實際上你需要考慮你爲什麼在數據庫中如此多的數據,以及如何最大限度地減少WordPress是需要承擔返回的查詢和工作量您數據。

+0

所有非常有幫助。我可能會錯過有關帖子的數量。帖子大約是8,000,而postmeta是100k +。我嘗試了幾乎所有改變內存限制的方法,但都無濟於事。我猜測主持人需要增加,他們需要一段時間才能回到我身邊。 – dremme

+0

我建議與他們聯繫並詢問他們是否允許您修改它。當我在共享主機上時,他們通常很樂意提供幫助。 – Ollie

相關問題