编译安装PHP7的MySQL扩展mysql.so

本文介绍如何解决PHP7中因废弃mysql_connect()函数导致的WordPress等老程序数据库连接失败问题。通过编译安装传统mysql扩展,使PHP7能兼容旧版数据库连接方式。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

转自:http://www.maixj.net/wz/php7-mysql-so-14716

PHP7已经彻底废弃了传统的mysql_connect()函数,源码安装包里,也不再提供传统mysql函数库的支持(PHP推荐使用mysqli或者pdo_mysql)。这样带来的问题是,运行老的PHP程序,比如WordPress,就会出现数据库连接失败的情况,表现出来的特征就是这个让人抓狂的错误:Fatal error: Uncaught Error: Call to undefined function mysql_connect()。这时,我们要么选择回退到PHP5.6,或者选择安装PHP7的mysql扩展。

 

PHP7的源码包里面没有mysql的代码,需要另外下载,下载地址:

http://git.php.net/?p=pecl/database/mysql.git;a=summary

下载PHP7的传统mysql扩展

下载PHP7的传统mysql扩展

可以使用WinSCP将下载包传到Linux系统。随便哪个目录都可以,然后运行下面的命令:

我用的ubuntu,先要安装autoconf这个工具:apt install autoconf

然后:

tar zxf mysql-230a828.tar.gz

cd mysql-230a828

/usr/local/php/bin/phpize

./configure --with-php-config=/usr/local/php/bin/php-config --with-mysql=/usr/local/mysql

make && make install

然后修改php.ini

添加extension=mysql.so

DONE!

 

此文写得相对简略,可能缺少一些必要的说明,有需要的同学可以参考:编译安装PHP7的扩展pdo_mysql.so

 

补充一个经验:

wordpress程序默认关闭了php的debug输出,这时如果出现连接数据库错误,屏幕一篇空白,什么都没有,我们需要打开php的debug开关来查看具体是什么错误,具体在wp-config.php文件里面:

备注:不同的版本mysql.so,pdo_mysql.so文件名不相同。


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值