【发布时间】:2016-11-21 07:46:56
【问题描述】:
我最近在 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 FastCGI sent in stderr: "PHP message: PHP Fatal error: Uncaught Error: Call to undefined function mysql_connect() in /adodb/drivers/adodb-mysql.inc.php:461
该网站在另一台配置了 Debian8、PHP7 的服务器上正常(与此处相同的配置)。
我已经安装了 MySQL 5.7 和 Nginx 1.10。我该如何纠正这个错误?
【问题讨论】:
-
mysql_* 函数已从 PHP7 中删除。您需要将代码转换为使用 PDO 或 mysqli。
-
警告 这个扩展在 PHP 5.5.0 中被弃用,在 PHP 7.0.0 中被移除。
-
别看它不是。在 debian8 服务器上使用
phpinfo(),您很可能会看到它指向 PHP5 安装。