You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

WordPress内存耗尽报错,调整内存限制后仍无法解决

WordPress内存耗尽错误排查(常规方法无效时的解决方案)

问题背景

个人WordPress站点无法访问,服务器上其他非WordPress站点运行正常。近期未修改配置、权限、插件,也未执行更新操作,昨日上传内容后站点状态一切正常。

出现的致命错误:

Fatal error: Allowed memory size of 134217728 bytes exhausted (tried to allocate 20480 bytes) in /var/www/html/wp-includes/class-wpdb.php on line 1793
Fatal error: Allowed memory size of 134217728 bytes exhausted (tried to allocate 20480 bytes) in /var/www/html/wp-includes/class-wp-fatal-error-handler.php on line 74

已尝试的操作:

  • 在wp-config.php中添加代码:define( 'WP_MEMORY_LIMIT', '256M' );
  • 修改php.ini文件:memory_limit = 256M
  • 编辑.htaccess文件(尝试放在#END WordPress前最后一行,也试过放在<?php后):php_value memory_limit 256M

以上操作均无效,仍显示相同报错信息。


进一步排查与解决步骤

1. 确认PHP配置是否真正生效

首先要确定你修改的配置是否被服务器加载:

  • 新建phpinfo.php文件,内容为:
    <?php phpinfo(); ?>
    
    上传到站点根目录后访问,查看memory_limit项的实际值。如果还是128M,说明配置未生效:
    • 核对phpinfo里的Loaded Configuration File路径,确认你修改的是正确的php.ini文件(不同PHP版本可能有独立配置文件)。
    • 修改php.ini或PHP-FPM配置后,必须重启Apache/Nginx和PHP-FPM服务,否则配置不会生效。
    • 若使用虚拟主机,可能服务商限制了内存上限,无法自行修改,需联系主机商调整。

2. 定位内存泄漏根源

即使调高内存,若存在内存泄漏问题,后续仍会报错,建议先找到问题源头:

  • 禁用所有插件:通过FTP将wp-content/plugins文件夹重命名为plugins-disabled,若站点恢复正常,再逐个恢复插件名称,排查出导致内存占用过高的插件。
  • 切换默认主题:重命名当前主题文件夹,让WordPress自动切换到默认主题(如Twenty Twenty-Four),排查是否是主题代码存在内存泄漏。
  • 检查数据库查询:报错出现在class-wpdb.php,大概率是异常数据库查询加载了大量数据。在wp-config.php中开启调试日志:
    define( 'WP_DEBUG', true );
    define( 'WP_DEBUG_LOG', true );
    
    访问站点后查看wp-content/debug.log,里面会记录详细的查询日志,帮助定位异常的数据库操作。

3. 额外的内存调整方案

如果常规方法无效,试试这些操作:

  • 在wp-config.php中同时设置前台和后台的内存上限:
    define( 'WP_MEMORY_LIMIT', '256M' );
    define( 'WP_MAX_MEMORY_LIMIT', '512M' );
    
  • 若服务器使用PHP-FPM,直接修改对应池的配置文件(如/etc/php/8.1/fpm/pool.d/www.conf),添加:
    php_value[memory_limit] = 256M
    
    修改后重启PHP-FPM服务。

内容的提问来源于stack exchange,提问作者Marcelo

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.11 17:35:00