php5安装mysql拓展_PHP7安装mysql的扩展让老版本PHP程序继续服役

5da2480cca562017038530457b24352b.png

PHP7以后有一些改变,之前碰到mysql_connect()失效的一个小程序,是自己写的,PHP7下出错后就手动修改了,这两天升级本博客的相关内容时,有碰到mysql_connect()连接失败的问题,因为不是自己写的,手动修改了一些,觉得太类,干脆在PHP7下重新加入mysql扩展,程序也省的修改了,但是这个做法到底好不好,效率影响有多大,作为半瓶酒的醒醒就不知道了,只知道反正能用了。

PHP7移除了mysql扩展,推荐使用mysqli或者pdo_mysql,实际上在PHP5.5开始,PHP就着手开始准备弃用mysql扩展,如果你的程序使用了mysql扩展,可能看到过这样的提示”Deprecated: mysql_connect(): The mysql extension is deprecated and will be removed in the future: use mysqli or PDO instead in”.所以在以后自己写PHP程序中,为了保持兼容性,要尽量不要使用mysql扩展用于数据库连接。

以lnmp为例两种方法安装PHP7的mysql扩展:

一、直接下载mysql.so文件安装PHP7的扩展,这种方法不知道到底通用不通用,反正我在自己的几台机器上都能正常使用。

下载到/usr/local/php/lib/php/extensions/no-debug-non-zts-20160303目录下,然后修改php.ini文件,lnmp的php.ini文件的位置在/usr/local/php/etc,在php.ini中添加extension=mysql.so,然后使用命令lnmp restart重启lnmp。到此就可以正常使用mysql_connect了。从PHP探针上可以先看下成果:

cb9d847c22ad4b407e42634cd435c579.png

705b109e9ef67895c0c17615e47ff9c8.png

推荐这种方法,简单粗暴,如果不行的话可以往下看。

二、编译安装PHP7的mysql扩展

1、到http://git.php.net/?p=pecl/database/mysql.git;a=summary下载源文件,我下载的是最新的一个http://git.php.net/?p=pecl/database/mysql.git;a=snapshot;h=647c933b6cc8f3e6ce8a466824c79143a98ee151;sf=tgz

2、解压并使用phpize工具初始化,编译:

#解压

tar xzvf mysql-647c933.tar.gz

#进入mysql扩展目录

cd mysql-647c933/

#使用phpize初始化,lnmp的phpize在/usr/local/php/bin目录

/usr/local/php/bin/phpize

#编译mysql扩展,使用mysql native driver作为mysql链接库

./configure --with-php-config=/opt/php/bin/php-config --with-mysql=mysqlnd

make && make install

3、然后同一中的办法,编辑php.ini文件,把mysql.so拷贝到php.ini的extension_dir中(这里实际上目录中已经有mysql.so了,如果没有的话文件在/root/mysql-647c933/modules,复制过去即可),然后在php.ini中加入extension=mysql.so ,最后lnmp restart重启就完工了。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值