我有一种自定义帖子类型,目前在其中有超过100k的帖子。当我尝试转到管理面板中的帖子类型的主页时,我会遇到错误:
致命错误:允许的内存大小为94371840字节耗尽(试图分配84个字节),in/home/spottercharts/spottercharts/spottercharts.com/wp-includes/cache.php on 506
主页通常列出该类型的所有帖子。由于有很多,因此正在吞噬所有PHP记忆。
如果目前还不是PHP.Ini中的PHP内存,是否有其他方法可以让WordPress不查询该类型的所有帖子?我只需要搜索帖子的能力,而不是全部列出它们。如果没有,是否有一种优化此帖子类型的方法,以免消耗太多内存?
我要问的第一件事是您如何获得超过100k的帖子?作为单个帖子,您的数据库中有很多事情要做,我怀疑它们不是所有实际帖子,而是用于其他目的?
?您有一些选择:
短期 - 内存限制
内存限制可以通过多种方式在服务器上修改,具体取决于您的服务器配置或主机允许的内容。如果您没有root访问权限,则可以将php.ini
文件放入网站的主目录中。
或者,通过添加以下内容来修改.htaccess
文件:
php_value memory_limit 256M
当您使用WordPress时,您还可以将以下行添加到wp-config.php
文件:
define('WP_MEMORY_LIMIT', '256M');
更好的方法
显然,以上是至少使网站迅速运行的好方法,但实际上是很高的用法。
关于如何改善内存使用量的一些建议:
- 减小数据库的大小。您还有其他方法吗可以用来减少您有多少个单独的帖子吗?
- 确保您在使用
query_posts
时要求返回的特定号码。这将确保它不再从数据库中拉出太多,因此使服务器少要处理。
您还可以做很多其他事情,但是实际上您需要考虑为什么数据库中有这么多数据,以及如何最大程度地减少查询量和工作,以使WordPress需要进行返回数据。<<<<<<<<