php7安装mysql拓展

php7.0以上的版本废弃了mysql拓展,推荐使用mysqli以及pdo_mysql,所以老的程序使用mysql拓展的程序就会报mysql_connet()函数未定义的错误,我们如果想要在不更改老程序链接数据库方式的前提下让它能够运行就需要在php7以上版本中安装mysql的拓展。

1 去php网站上下载mysql扩展,http://git.php.net/?p=pecl/database/mysql.git;a=summary.(文件包的名称是mysql-45881bd.tar.gz,

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

#解压

tar xzvf mysql-45881bd.tar.gz

#进入mysql扩展目录

cd mysql-45881bd/

#使用phpize初始化,我的phpize在/data/web/目录

/data/web/php7/bin/phpize

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

./configure --with-php-config=/data/web/php7/bin/php-config --with-mysql=mysqlnd

make && make install

3 然后直接编辑php.ini文件,在php.ini中加入extension=mysql.so

4 重启php-fpm,首先说下启动php-fpm:/data/web/php7/sbin/php-fpm,下面开始讲如何重启:php 5.3.3 以后的php-fpm 不再支持 php-fpm 以前具有的 /data/web/php7/sbin/php-fpm (start|stop|reload)等命令,所以不要再看这种老掉牙的命令了,需要使用信号控制:

master进程可以理解以下信号

INT, TERM 立刻终止

QUIT 平滑终止

USR1 重新打开日志文件

USR2 平滑重载所有worker进程并重新载入配置和二进制模块

一个简单直接的重启方法:

先查看php-fpm的master进程号:ps aux | grep php-fpm


php7安装mysql拓展_第1张图片

重启php-fpm:

kill -USR2 22267

上面方案一般是没有生成php-fpm.pid文件时使用,如果要生成php-fpm.pid,使用下面这种方案:

上面master进程可以看到,matster使用的是/data/web/php7/etc/php-fpm.conf这个配置文件,cat /data/web/php7/etc/php-fpm.conf 发现:

pid文件路径应该位于/data/web/php7/var/run/php-fpm.pid,由于注释掉,所以没有生成,我们把注释去除,再kill -USR2 22267 重启php-fpm,便会生成pid文件,下次就可以使用以下命令重启,关闭php-fpm了:

php-fpm 关闭:

kill -INT 'cat /data/web/php7/var/run/php-fpm.pid'

php-fpm 重启:

kill -USR2 'cat /data/web/php7/var/run/php-fpm.pid'

这样我们查看phpinfo()的时候就可以看到mysql拓展了,我们亲切的mysql又回来了,我们熟悉的程序又可以快乐的运行了

php7安装mysql拓展_第2张图片

小结:相对于PHP5,都说PHP7有非常大的性能提升,mysql拓展被废弃也有很多的原因,安全性首当其冲,还是推荐大家最好使用mysqli以及pdo_mysql拓展来连接数据库。

很多刚升级php7的新同学都会遇到各种各样的问题,一定不要灰心,困难总会被克服的。

相关链接(LNMP编译安装):https://www.jianshu.com/p/e28cd4d30fb5

你可能感兴趣的:(php7安装mysql拓展)