php 访问 mysql 数据库相关扩展一条龙安装教程

环境 Centos7 + php2.7.2(核心) + php-fpm + nginx

一 ,简述

1,我的 php 环境使用命令 ./configure --prefix=/root/software/php -enable-fpm 配置的,这样安装的缺少很多扩展,其中

mysql 数据库的访问扩展就需要自己去编译安装,我们可以在 源码包的 ext 文件夹下看见这些依赖,我们可以自行编

译安装

2,在以前的项目中,访问数据库的驱动一般使用 libmysqlclient 作为访问基础,这使得我们在编译 php 数据库访问模块

如 mysqli 和 pdo_mysql 时,需要先安装 mysql 数据库或者 mysql 的客户端访问工具,这使得 php 环境和数据库分离

的开发方式变得有些麻烦

3,从 php 5.3 版本以后,php 源码包中多了一个名为 mysqlnd 的扩展作为 mysql 数据库的访问基础,使得我们无需通过

mysql 的客户端就能访问 mysql 数据库,并且该扩展性能更好,对于 mysqli 和 pdo_mysql 扩展的支持性也更好

二,安装扩展的命令介绍

1,我们需要将 php 的安装目录下的 bin 目录配置到环境变量下

vim /root/.bash_profile 在文件的最后一行添加如下红框内的代码,/root/software/php 为本人测试环境下 php 的安装路径

保存后从新运行该文件 => . /root/.bash_profile

2,我们查看 bin 目录下是否存在以下两个命令 phpize 和 php-config 两个命令

3,一般 php 5.3 以后的版本都自带,如果没有,请自行安装,不会就百度

三,安装 openssl 扩展

01,openssl 扩展是 mysqnd 扩展的依赖,安装 mysqlnd 前需要先安装

02,openssl 扩展依赖 openssl 和 openssl-devel,如果没有可以先用 yum 进行安装

yum -y install openssl openssl-devel

03,然后进入到源码包的 ext 目录下,ls 查看目录内容,这里有很多我们会常用到的扩展

04,进入到 openssl 文件夹,查看是否有 config.m4 文件,如果没有找名字相似的文件,拷贝一份命名为 config.m4

05,执行 phpize 命令,可能会出现如下错误,我们需要先安装依赖 => yum -y install autoconf 然后在执行 phpize

 

06,如果一切正常,目录下会生成了 configure 的文件

07,我们运行它 => ./configure, 期间如果提示缺少什么依赖,yum 安装一下即可,再次执行

08,没有任何报错后,我们执行 make 和 make install 安装,会返回一个地址,这就代表扩展安装成功了

09,我们用 ls 命令查看该地址可以看见刚刚编译好的 so 文件

10,在 php.ini 加入如下代码 ,重启 php-fpm 即可,我们也用 php -m 查找刚刚安装的扩展是否存在

四,安装 mysqlnd 

01,进入到源码包下的 ext 下的 mysqlnd 目录

02,查看发现没有 config.m4 只有 config9.m4 => cp config9.m4 config.m4

03,phpize => ./configure

04,这里坑你会出错,需修改一下全局变量 

05,升级 yum 源 

 rpm -Uvh http://mirrors.kernel.org/fedora-epel/epel-release-latest-7.noarch.rpm

06,export PHP_OPENSSL_DIR=yes 

 

猜你喜欢

转载自www.cnblogs.com/lovling/p/9346978.html