首页 » 网站建设 »

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

2017年3月12日 / 2,573次阅读
PHP

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文件里面:

/* 将默认的false修改为true */
define('WP_DEBUG', true);

 

本文链接:https://www.maixj.net/wz/php7-mysql-so-14716

相关文章

留言区

《编译安装PHP7的MySQL扩展mysql.so》有4条留言

  • 麦新杰

    make的时候,可能会出一些路径错误,可以使用 cp -r /home/xinlin/php-7.2.18/ext ext/,将整个ext文件夹copy到这个mysql扩展包里面,再make。 []

  • 麦新杰

    如果采mysql不是编译安装,通过yum或apt安装了mysql devel,直接使用选项--with-mysql,无需任何参数。 []

  • 麦新杰

    pdo_mysql或mysqli这两个模块,能否与mysql模块共存呢? []

  • 麦新杰

    出现了Adminer插件无法连接mysql数据库的情况,由于没有pdo_mysql以及mysqli这两个模块,按照出错界面的提示,增加一行配置:mysql.allow_local_infile=Off。 []


前一篇:
后一篇:

栏目精选

云上小悟,麦新杰的独立博客

Ctrl+D 收藏本页

栏目


©Copyright 麦新杰 Since 2014 云上小悟独立博客版权所有 备案号:苏ICP备14045477号-1。云上小悟网站部分内容来源于网络,转载目的是为了整合信息,收藏学习,服务大家,有些转载内容也难以判断是否有侵权问题,如果侵犯了您的权益,请及时联系站长,我会立即删除。

网站二维码
go to top