看到五花八门的PHP7vs.PHP5的资讯和评测,一直觉得不错。最近重装服务器,索性把PHP升级到PHP7,然后程序就遭遇尴尬了。。。。运行提示错误↓↓↓
Deprecated: mysql_connect(): The mysql extension is deprecated and will be removed in the future: use mysqli or PDO instead in.
phpinfo了一下也没有找到mysql扩展,找了下win下的扩展包也没找到该扩展,难道编译参数出错了?百谷了一下才发现,** PHP7正式移除了mysql 扩展,推荐使用mysqli或者pdo_mysql **。。。立马改项目代码是不现实的(时间没得保证嘛),有没兼容解决办法?还真找到了!
废话太多,直接PO我的解决办法吧:
- 去 http://git.php.net/ 下载mysql的兼容包(直接下载mysql-230a828.tar.gz)
- 执行
tar -xzvf mysql-230a828.tar.gz && cd mysql-230a828
- 执行
/usr/local/php/bin/phpize
生成 - 执行
./configure --with-php-config=/usr/local/php/bin/php-config --with-mysql=mysqlnd
- 执行
make && make install
- 最重要一步,别忘了
修改php.ini
,找到合适位置添加extension=mysql.so
将扩展引入,然后重启php-fpm - 检查一下phpinfo打印页面咯,看是否出现如图的扩展加载。
奀~ 你应该也看到了你想看到的东西了吧?那好,先这样,继续 HICODE 了~