繁体   English   中英

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

[英]PHP Fatal error : Call to undefined function mysql_connect()

我最近在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日志错误:

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

该网站可以在配置了Debian8,PHP7的另一台服务器上正常运行(类似此处的配置)。

我已经安装了MySQL 5.7和Nginx 1.10。 我该如何纠正此错误?

要更正错误,您基本上有两种选择

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

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


跟进:

如果您的说法是正确的... mysql_函数在PHP7下运行,那么最可能的解释是有人安装了导出mysql_函数的第三方模块/库。

我相信已经做了一些工作来构建这样的库,以提供向后兼容性。 该库将使用更新的PHP mysqli_函数与数据库进行交互,并为旧版应用程序提供(主要是)兼容的mysql_函数。

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

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

mysql_connect函数在5.5版中已弃用,在7.0版中已完全删除。

您需要使用mysqli或PDO。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM