升级PHP至8.0后旧WordPress站点后台出现致命错误求助
解决PHP8.0下WordPress后台因ini_set()未定义导致的致命错误
问题根源
错误提示Call to undefined function ini_set()说明PHP配置中禁用了ini_set函数,WordPress核心的wp_raise_memory_limit函数调用该函数时触发致命错误,这是升级PHP8.0后常见的服务器配置问题。
解决步骤
1. 检查并修改PHP禁用函数列表
- 创建一个名为
phpinfo.php的文件,内容如下:
上传到站点根目录,通过浏览器访问该文件,查找<?php phpinfo(); ?>disable_functions配置项,确认是否包含ini_set。 - 若有权限修改PHP配置(如VPS/独立服务器):
打开php.ini或user.ini文件,找到disable_functions行,移除其中的ini_set,保存后重启PHP服务。 - 若为共享主机,联系主机服务商,要求从禁用函数列表中移除
ini_set。
2. 手动设置WordPress内存限制(临时绕过方案)
直接在wp-config.php中定义内存限制,跳过WordPress对ini_set的调用:
打开站点根目录的wp-config.php文件,在/* That's all, stop editing! Happy publishing. */之前添加以下代码:
define('WP_MEMORY_LIMIT', '256M'); define('WP_MAX_MEMORY_LIMIT', '256M');
保存后刷新后台,看是否恢复正常。
3. 升级WordPress到兼容PHP8.0的版本
旧版WordPress可能存在PHP8.0兼容性问题,将WordPress升级到最新稳定版(需确保版本支持PHP8.0,推荐5.6及以上)。升级前务必备份站点文件和数据库。
4. 排查插件/主题冲突
临时禁用所有第三方插件,切换到WordPress默认主题(如Twenty Twenty-Three),若错误消失,再逐个启用插件、切换主题,定位到导致问题的扩展。
内容的提问来源于stack exchange,提问作者peco60052
相关产品推荐
相关产品推荐

