PHP内存耗尽报错求助:调整WP内存限制及禁用插件均无效
解决PHP内存耗尽报错(WPML插件相关)
问题说明
报错信息:
PHP Fatal error: Allowed memory size of 268435456 bytes exhausted (tried to allocate 2097160 bytes) in wp-content/plugins/sitepress-multilingual-cms/classes/utilities/class-debug-backtrace.php line 138
已尝试方案:
- 在
wp-config.php中添加define("WP_MEMORY_LIMIT", "512M") - 重命名
sitepress-multilingual-cms插件文件夹禁用插件
以上操作均未解决问题。
可行解决办法
1. 修改PHP全局内存限制
WordPress的WP_MEMORY_LIMIT仅针对前端和后台脚本,PHP的全局内存上限由php.ini文件控制:
- 找到服务器上的
php.ini(可通过phpinfo()页面查看具体路径,常见位置如/etc/php/8.2/apache2/php.ini或/usr/local/etc/php/8.2/php.ini) - 修改参数:
memory_limit = 512M(或根据需求设为1G) - 重启Web服务器(Apache/Nginx)及PHP-FPM(若使用该运行模式)
2. 单独设置后台最大内存限制
在wp-config.php中追加后台专属内存配置,放在WP_MEMORY_LIMIT定义之后:
define('WP_MAX_MEMORY_LIMIT', '512M');
3. 禁用WPML调试回溯功能
报错出自WPML的调试回溯类,可先关闭其调试模式:
在wp-config.php中添加:
define('WPML_DEBUG', false);
同时检查WPML插件是否有新版本,升级到最新版修复可能存在的内存泄漏bug。
4. 排查插件/主题冲突
- 临时禁用所有其他插件,仅保留WPML,验证是否仍报错。若正常,逐个启用插件定位冲突源。
- 切换到WordPress默认主题(如Twenty Twenty-Four),排除主题与WPML的兼容性问题。
- 检查主题
functions.php或自定义插件中是否有调用WPML回溯函数的代码,排查内存泄漏点。
5. 无php.ini权限时的替代方案
- 在网站根目录的
.htaccess文件中添加:php_value memory_limit 512M - 或创建
user.ini文件(适用于PHP-FPM环境),写入:memory_limit = 512M
内容的提问来源于stack exchange,提问作者David Fang
相关产品推荐
相关产品推荐

