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

PHP7.4环境下最新版WordPress始终调用已弃用的mysql_connect函数问题求助

解决WordPress在PHP7.4下调用mysql_connect()的致命错误

我明白你现在的困境——最新版WordPress理论上早就彻底放弃了过时的mysql_connect()函数,居然在PHP7.4环境里还触发这个错误,确实挺头疼的。结合你的环境(PHP7.4 + MySQL8.0 + 最新WordPress),咱们一步步排查解决:

1. 先确认WordPress核心文件是否完整或被篡改

有时候下载的安装包可能损坏,或者服务器上残留了旧版本的核心文件,导致数据库连接逻辑异常。建议:

  • 去WordPress官方下载最新完整安装包
  • 删除服务器上的wp-admin和wp-includes文件夹
  • 将新安装包里的wp-admin和wp-includes上传到服务器(注意保留wp-content文件夹和wp-config.php文件,不要覆盖它们)

2. 检查wp-config.php的数据库配置

最新版WordPress会自动适配mysqli扩展,不需要手动定义WP_USE_EXT_MYSQL,甚至这个常量现在已经被废弃了。建议:

  • 打开wp-config.php,删除所有define('WP_USE_EXT_MYSQL', ...);的代码行
  • 确保数据库连接参数是正确的标准格式:
    define('DB_HOST', 'localhost'); // 根据你的数据库地址调整
    define('DB_USER', '你的数据库用户名');
    define('DB_PASSWORD', '你的数据库密码');
    define('DB_NAME', '你的数据库名');
    define('DB_CHARSET', 'utf8mb4');
    define('DB_COLLATE', '');
    

3. 确认PHP扩展确实正常加载

你说已经启用了mysqli和mysqlnd,但最好实际验证一下:

  • 在服务器根目录创建一个phpinfo.php文件,内容为:
    <?php phpinfo(); ?>
    
  • 访问这个文件,搜索mysqli和mysqlnd,确认这两个扩展的状态都是“已启用”
  • 注意:有些服务器的CLI和Web环境用的是不同的php.ini配置,你在CLI里启用的扩展可能没在Web环境生效,这种情况需要修改Web服务器对应的php.ini文件(比如Apache的php.ini或Nginx的php-fpm配置)

4. 排查主题/插件的旧代码问题

如果是从旧站点迁移过来的wp-content,或者新安装了不兼容的主题/插件,它们可能直接调用了mysql_connect():

  • 将wp-content/plugins重命名为plugins_old,wp-content/themes重命名为themes_old
  • 刷新站点,如果错误消失,说明是某个插件或主题的问题,再逐个恢复文件夹并排查具体是哪个插件/主题导致的

5. 服务器环境的特殊排查

有些主机商的服务器可能有特殊配置:

  • 确认服务器没有禁用mysqli扩展,或者强制加载了旧的mysql兼容层(反而导致冲突)
  • 如果是Apache环境,可以尝试在.htaccess里添加:php_flag extension mysqli on
  • 必要时联系主机商,确认PHP7.4环境的mysqli扩展是否完全适配MySQL8.0

按照上面的步骤排查,大概率能定位到问题。从经验来看,核心文件损坏或者wp-config.php里的废弃常量残留是最常见的原因,建议先从这两点入手。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.04.29 20:17:40