PHP7 默认已经不再支持MySQL函数,取而代之的是,MySQLi,mysqlnd,pdo_mysql等函数。据官方介绍,PHP7的性能是PHP5.6的2倍。另外PHP7的编译时间大约需要5分钟,而不是编译HHVM需要的几个小时。新的软件,带来的是效率和性能的提升,也修复了很多bug,所以PHP升级是非常有必要的。
由于PHP7取消了对MySQL函数的支持(详细可以查看 从PHP5到PHP7的注意事项(4)PHP7全面删除Mysql扩展支持
),而很多使用MySQL函数的CMS会提示,不支持MySQL,或者是连接错误。本文将介绍如何添加PHP7对MySQL函数的支持。
1、下载mysql扩展支持
git clone https://github.com/php/pecl-database-mysql mysql --recursive
或者:
svn co https://github.com/php/php-src/tags/PRE_PHP7_EREG_MYSQL_REMOVALS/ext/mysql mysql
或者:
http://pecl.php.net/package/mysql
2、编译代码:
cd mysql /path/to/phpize ./configure --with-php-config=/path/to/php-config make make install
编译安装完成后,有一个mysql.so文件会被复制到PHP目录的扩展目录下,例如:/usr/local/lib/php/extensions/no-debug-non-zts-20141001/ 具体位置,需要看你的设置。
3、修改php.ini文件,添加mysql.so路径地址,例如:
extension = /usr/local/lib/php/extensions/no-debug-non-zts-20141001/mysql.so
4、重新PHP,PHP7即可支持MySQL函数扩展。
当然,您也可以在编译PHP7的时候,把MySQL扩展添加进去,这样就不需要修改php.ini文件。具体操作,请查看:http://php.net/manual/zh/install.pecl.static.php
也可以使用代码,替换掉原来的MySQL函数,文件下载地址:http://sourceforge.net/projects/mysqlwithmysqli/
参考资料:How to put MySQL functions back into PHP 7