用苏醒的PANDAPRO建了一个博客演示站,三天两头就就显示
Fatal Error: Allowed Memory Size of 4180000 Bytes Exhausted ( tried to allocate 110592 bytes)”in /home/wwwroot/wp-include/......
我不是已经从PHP里面设置过允许使用的内存为512了,怎么还会出现这个问题?
“Allowed Memory Size of Bytes Exhausted” 意思是网站服务器允许的内存大小耗尽导致错误,是WordPress建站中常见问题之一。此时,您的网站可能会显示空白页并变得无法访问,或者页面中会出现类似下面的代码提示:
“Fatal Error: Allowed Memory Size of 412000 Bytes Exhausted ( tried to allocate 110592 bytes)”in /home/wwwroot/wp-include/wp-db.php on line 2106
所以,如果您的WordPress网站收到“Allowed Memory Size of Bytes Exhausted” 的错误,这意味着您的服务器正在限制您的网站使用的内存量,或者插件消耗了太多服务器内存。
什么原因导致“Allowed Memory Size of Bytes Exhausted”?
WordPress代码是用PHP编写的,PHP是一种用于创建动态网页的服务器端编程语言。此开源代码使用服务器资源同时执行多个应用程序的脚本和请求。这些资源之一是服务器用来成功执行任务的 PHP 内存。为了使服务器正常运行,系统管理员为每个网站分配一定数量的PHP内存。
大多数Web主机或云服务器会为网站设置默认的内存限制,该限制可能低于服务器上分配的PHP内存限制。当 WordPress 网站运行占用过多服务器内存或者内存耗尽时,会发生“Fatal Error: Allowed Memory Size of Bytes Exhausted ”的错误。
要修复此错误,我们必须增加服务器的默认 PHP 内存限制。
什么是 PHP 内存限制?
PHP 内存限制是服务器为运行 WordPress 和插件使用的 PHP 代码和脚本分配的内存量。不同的网络托管服务提供商为其每个托管计划设置不同的内存量。
例如,一些网络托管服务提供商为每个托管帐户提供 256MB 的内存。这对于托管具有常规流量的WordPress网站绰绰有余。仅当您的网站主机为每个网站分配的内存量较低时,才会发生内存耗尽错误。
解决方法:增加 PHP 内存限制
PHP 内存限制是服务器分配给网站处理的默认内存量。不同的网络托管服务提供商可能有不同的服务器配置。
1.1 修改 wp-config.php 文件
在网站根目录下,找到 wp-config.php 文件,将以下代码片段粘贴到其中,然后保存更改。
define( 'WP_MEMORY_LIMIT', '512M' );
代码一定要添加在 “/* That’s all, stop editing! Happy blogging. */.” 之前的位置!如下图所示:
代码中 WP_MEMORY_LIMIT 后面对应的内存数值可以根据服务器配置情况进行调整!
1.2 修改服务器配置
这里以宝塔面板服务器环境为例,在 软件商店 – PHP中找到PHP配置,在设置弹窗中,打开 配置修改,找到 memory_limit 项,修改脚本内存限制,如下图所示:
结论
当您的WordPress网站出现“Fatal Error: Allowed Memory Size of Bytes Exhausted” 错误,导致网站无法正常访问时,说明网站运行消耗的内存,已经达到服务器分配给网站 PHP 内存限制上限。此时,无需担心,参考上面方法提升服务器分配的PHP脚本内存限制即可。两者需要同时满足,修改其中一个并不能解决问题。