PHP致命错误:调用未定义的函数mysql_connect()

时间:2016-07-18 15:55:55

标签: php mysql nginx centos

我最近在CentOS 7上安装了PHP 7.0.8(ZTS),配置如下:

--prefix=/usr/local/php7 \
--with-config-file-scan-dir=/usr/local/php7/etc/conf.d \
--enable-bcmath \
--enable-calendar \
--enable-exif \
--enable-opcache
--enable-dba \
--enable-ftp \
--with-gettext \
--with-gd \
--with-jpeg-dir \
--enable-mbstring \
--with-mcrypt \
--with-mhash \
--enable-mysqlnd \
--with-mysql=mysqlnd \
--with-mysqli=mysqlnd \
--with-pdo-mysql=mysqlnd \
--with-mysql-sock=/var/run/mysqld/mysqld.sock \
--with-openssl \
--enable-pcntl \
--enable-soap \
--enable-sockets \
--enable-sysvmsg \
--enable-sysvsem \
--enable-sysvshm \
--with-zlib \
--enable-zip \
--with-readline \
--with-curl \
--enable-shmop \
--enable-fpm \
--enable-maintainer-zts \
--enable-pthreads=shared \
--with-tsrm-pthreads \
--enable-fastcgi \
--with-fpm-user=www-data \
 --with-fpm-group=www-data"

我无法访问我的网站,因为当我尝试访问我的网站时出现以下nginx日志错误:

  

[error] 20609#20609:* 8在stderr中发送的FastCGI:" PHP消息:PHP致命错误:未捕获错误:在/adodb/drivers/adodb-mysql.inc中调用未定义函数mysql_connect()。 PHP:461

这个网站在配置了Debian8,PHP7的另一台服务器上是可以的(这里的配置相同)。

我安装了MySQL 5.7和Nginx 1.10。我该如何纠正这个错误?

3 个答案:

答案 0 :(得分:2)

要纠正错误,你基本上有两个选择,

1)修改代码以删除对mysql扩展的引用(并改为使用mysqli或PDO)或

2)安装旧版本的PHP(PHP7之前),它支持mysql扩展

随访:

如果您声称的是真的... mysql_函数在PHP7下工作,那么最可能的解释是有人安装了导出mysql_函数的第三方模块/库。

我相信有一些工作要建立这样一个库,以提供向后兼容性。该库将使用较新的PHP mysqli_函数与数据库交互,并为遗留应用程序提供(大多数)兼容的mysql_函数。

但这不是PHP7的一部分。这将是第三方的补充。

答案 1 :(得分:0)

PHP 7完全删除了mysql_ *。使用PDO或mysqli

答案 2 :(得分:0)

{* 3}}在5.5版中已弃用,在7.0版中已完全删除。

您需要使用mysqli或PDO。

相关问题