在使用 WordPress 网站时,可能会遇到这样的致命错误:Fatal error: Uncaught Error: Call to undefined function mysql_connect()。这种错误通常表明你正在使用的系统未正确配置数据库,或者所需的 PHP 扩展未启用。本教程将为你提供详细的解决方案,帮助你排除这一问题。
问题的根本原因
这个错误的主要原因包括:
数据库服务未运行或配置错误。
PHP 环境中未启用与数据库交互相关的扩展,例如 mysqli。
PHP 版本较新,不再支持 mysql_connect 函数。
使用的 PHP 版本中没有正确加载所需的 MySQL 扩展。
以下是详细的解决步骤,适用于使用 cPanel 控制面板的用户。
解决方法 1:检查数据库运行状态
先确认服务器上的数据库是否正常运行:
如果使用托管服务器,请通过托管面板检查 MySQL 或 MariaDB 服务的状态。
对于独立服务器,使用以下命令检查服务是否运行:sudo systemctl status mysql如果服务未运行,使用以下命令重新启动:sudo systemctl start mysql
解决方法 2:通过 cPanel 启用 PHP 扩展
如果你的服务器运行正常,但错误仍然存在,可以按照以下步骤通过 cPanel 检查和启用必要的 PHP 扩展。
步骤 1:登录 cPanel 控制面板
打开浏览器,访问以下链接之一登录你的 cPanel:https://domainname/cpanel
https://domainname:2083
https://cpanel.domainname
https://IP_Server:2083
输入你的用户名和密码完成登录。
注意:将 domainname 替换为你的实际域名,例如 wp12345678.com。如果使用 IP 登录,请确保使用你的服务器 IP 地址。
步骤 2:打开 PHP Selector 页面
在 cPanel 的搜索栏中输入“PHP”,然后选择 PHP Selector。
进入 PHP Selector 页面后,点击“扩展”选项卡。
步骤 3:启用所需的 PHP 扩展
在“扩展”选项卡中,确保以下扩展之一处于启用状态:
mysqli
nd_mysqli
mysqlnd
nd_pdo_mysql
如果它们未启用,请勾选相关选项并保存更改。完成后,应该会看到成功启用的消息。
解决方法 3:使用 MultiPHP Manager 更改 PHP 版本
如果你的 cPanel 没有 PHP Selector,可以尝试通过 MultiPHP Manager 更改 PHP 版本:
在 cPanel 控制面板搜索“MultiPHP Manager”。
进入 MultiPHP Manager 页面后,找到你的域名。
更改 PHP 版本为支持 ea 系列(例如 ea-php74 或 ea-php81)。
解决方法 4:检查和修复自定义服务器设置
对于非托管的服务器,应确保:
安装了所需的 PHP 扩展:sudo apt install php-mysql
确保 PHP 配置中加载了正确的扩展:编辑 php.ini 文件:sudo nano /etc/php/8.1/cli/php.ini
确保包含以下行:extension=mysqli extension=pdo_mysql
保存并退出后,重启 PHP:sudo systemctl restart php8.1-fpm
检查 MySQL 服务是否正常运行,重启 MySQL 服务:sudo systemctl restart mysql
测试结果
完成上述步骤后,尝试重新访问你的网站。如果错误已解决,你的网站应能正常运行。
建议
如果问题仍然存在:
联系你的托管服务提供商,获取进一步帮助。
检查服务器日志以获取更多详细的错误信息。tail -f /var/log/apache2/error.log
通过以上方法,可以解决 Call to undefined function mysql_connect() 的错误问题,确保 WordPress 网站运行顺畅。支持最新的 PHP 版本和扩展是提升网站性能和安全性的关键所在。