未定义函数 mysql_connect()

我已经运行(并重新启动了MySQL / Apache 2),但我仍然收到此错误:aptitude install php5-mysql

致命错误:调用 /home/validate.php 第 21 行中未定义的函数 mysql_connect()

phpinfo()表示 /etc/php5/apache2/conf.d/pdo_mysql.ini 文件已被解析。


答案 1

如果您已经在使用 PHP7,则以前不推荐使用的函数已被完全删除,因此您应该使用 PDO 函数或函数来更新代码。mysql_*mysqli_*

如果这是不可能的,作为一种解决方法,我创建了一个小的PHP包含文件,该文件使用-functions重新创建旧函数:fix_mysql.inc.phpmysql_*mysqli_*()


答案 2

我看到你用Ubuntu标记了这个。很可能没有安装MySQL驱动程序(可能还有MySQL)。假设您具有 SSH 或终端访问权限和 sudo 权限,请登录到服务器并运行以下命令:

sudo apt-get install mysql-server mysql-client php5-mysql

如果已经安装了MySQL软件包或php5-mysql软件包,这将更新它们。


更新

由于这个答案仍然偶尔点击,我将更新它以包含PHP 7。PHP 7 需要一个不同的 MySQL 包,因此您需要为 apt-get 命令使用不同的参数。

# Replace 7.4 with your version of PHP
sudo apt-get install mysql-server mysql-common php7.4 php7.4-mysql

重要的是,自 PHP v5.5.0 以来已被弃用。在这里参考官方文档:PHP:mysql_connect()mysql_connect()


推荐