1

我有一个自定义帖子类型,现在有超过 10 万个帖子。当我尝试在管理面板中转到帖子类型的主页时,出现错误:

致命错误:第 506 行 /home/spottercharts/spottercharts.com/wp-includes/cache.php 中允许的内存大小为 94371840 字节已用尽(尝试分配 84 个字节)

主页通常会列出该类型的所有帖子。由于有这么多,它正在吃掉所有的 PHP 内存。

如果现在不能选择增加 php.ini 中的 PHP 内存,是否有另一种方法可以让 Wordpress 不查询该类型的所有帖子?我只需要搜索帖子的能力,而不是全部列出。如果没有,有没有办法优化这种帖子类型,使其不消耗太多内存?

4

1 回答 1

2

我要问的第一件事是您如何获得超过 100k 的帖子?在您的数据库中作为单独的帖子有很多东西,我怀疑它们并非都是实际的帖子,而是被用于其他目的?

你有几个选择:

短期 - 内存限制

可以通过多种方式在服务器上修改内存限制,具体取决于您的服务器配置或主机允许的内容。如果您没有 root 访问权限,则可以将php.ini文件放入网站的主目录。

或者,.htaccess通过添加以下内容来修改您的文件:

php_value memory_limit 256M

当您使用 Wordpress 时,您还可以将以下行添加到您的wp-config.php文件中:

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

更好的方法

显然,以上是至少让网站快速运行的好方法,但实际上这是非常高的使用率。

关于如何提高内存使用率的一些建议:

  1. 减小数据库的大小。您是否可以使用其他方法来减少您拥有的个人帖子的数量?
  2. 确保您在使用query_posts. 这将确保它停止从数据库中提取太多数据,从而使服务器处理的更少。

您可以做很多其他事情,但实际上您需要考虑为什么数据库中有如此多的数据,以及如何最大限度地减少 Wordpress 返回数据所需的查询和工作量。

于 2012-10-21T16:06:22.027 回答