致命错误:在第1811行的wp-includswp-db.php中,允许的内存大小134217728字节已用完(试图


Fatal error: Allowed memory size of 134217728 bytes exhausted (tried to allocate 5196452 bytes) in wp-includeswp-db.php on line 1811

我有一个带有openhouse-and-openroad主题和工具集类型插件的WP站点。

我的网站上有3万个帖子。(posts表中有318990行,postmeta表中有336982行)。

这是因为我每个帖子大约有15-20个图像,(每个图像在posts表中形成一个新行)

我知道在SO和WP论坛上,与内存相关的问题被问了好几次,但所有人都建议增加内存限制,但我不想增加。因为整个网站都部署在我的本地主机(Core i7,8GB RAM)上,所以在这里加载应该很好。

实际问题

我网站上的其他页面加载良好,除了一篇帖子的页面,它花了太长的时间,可能需要1分钟。有人能告诉我可能出了什么问题吗?

WP无法处理如此数量的帖子(超过2万个),这是真的吗?

我尝试了所有的缓存插件,但那一个帖子页面根本无法加载。

因为整个网站都部署在我的本地主机上(Core i7,8GBRAM),所以它应该在这里加载良好。

这实际上与PHP内存限制无关。PHP内存限制经常被设置为一个低得多的值,可能是128M。虽然听起来你正试图通过一些措施来提高网站的效率,但它可能已经超出了当前PHP内存限制的要求。我建议查看php.ini,看看当前的限制是多少。我会尝试在限制中添加大约128M到256M的内存,只是为了测试一下,看看这是否有效。请确保重新启动Apache(可能很优雅)。

通常,您应该将IDE(例如Netbeans/PHP)与xdebug结合使用。启用xdebug中的profiling选项,并检查代码中各部分的资源消耗情况。Cachegrind是生成的分析数据文件的查看器。

所描述的行为可能是由导致无限递归的数据不一致引起的。

你也可以测试不同的主题,并暂时禁用一些插件。

相关文章: