PHP 扩展在 Linux(centos7)系统下的编译与安装 以 mysqli 为例

(操作系统 Centos7,环境版本 php7)

01,进入到 PHP 解压后的源码包的的 ext 文件夹

02,查看是否存在 mysqli 扩展 => ls, 如果不存在需要去响应网站下载 (百度 Google 下载)

PHP 扩展在 Linux(centos7)系统下的编译与安装 以 mysqli 为例

03,这里既是所有 PHP 官方提供的扩展,进入到 mysqli 目录 => cd mysqli

04,执行命令 => phpize

PHP 扩展在 Linux(centos7)系统下的编译与安装 以 mysqli 为例

05,如果出现以上错误可以用 yum 安装依赖 => yum -y install autoconf => phpize

06,配置编译参数 ./configure --with-mysqli=mysqlnd  这里要求你必须先安装了 mysqlnd

07,配置完成后编译扩展 => make

PHP 扩展在 Linux(centos7)系统下的编译与安装 以 mysqli 为例

08,如果出现以上错误,将 mysqli_api.c 文件第 36 行的代码中的相对路径修改成如下的绝对路径

PHP 扩展在 Linux(centos7)系统下的编译与安装 以 mysqli 为例

09,比较新一点 php 版本如果扩展编译时使用默认路径,那么也可以这样配置,这种配置的好处是迁移时不需要修改

PHP 扩展在 Linux(centos7)系统下的编译与安装 以 mysqli 为例

10,再次执行 make => make install,出现如下界面为编译安装成功

PHP 扩展在 Linux(centos7)系统下的编译与安装 以 mysqli 为例

11,以上返回的路径便是扩展安装的路径,记住红框内的路径,查看模块是否安装成功

ls /root/software/php/lib/php/extensions/no-debug-non-zts-20170718/

PHP 扩展在 Linux(centos7)系统下的编译与安装 以 mysqli 为例

12,以上的 mysqli.so 就是 mysqli 扩展

13,修改配置文件 php.ini ( 如果找不到,请移步 https://www.cnblogs.com/lovling/p/9301851.html )

14,在文件的最后添加如下代码,右边的路径就是 mysqli.so 所在的路径

PHP 扩展在 Linux(centos7)系统下的编译与安装 以 mysqli 为例

15,重启 php-fpm 或者 httpd (根据自己的环境选择)

16,随意访问一个写有 <?php phpinfo() ?> 的文件,出现以下画面为安装成功

PHP 扩展在 Linux(centos7)系统下的编译与安装 以 mysqli 为例

 17,一个简单的利用 mysqli 做查询的数据路例子

<?php
/**
* 准备数据库连接参数,地址,账号,密码,具体库名称
*/
$host = "192.168.200.100:3306";
$user = "root";
$password = "920619";
$dbname = "test"; /**
* 实例化 mysqli 对象
*/
$mysqli = new mysqli($host, $user, $password, $dbname); /**
* 设置查询结果数字类型的字段不会被自定转化为字符串类型
* 该方法要求 mysqli 扩展在安装时必须使用 mysqlnd 依赖
* 设置编码防止乱码,互联网开发常用为 utf8 编码
*/
$mysqli -> options(MYSQLI_OPT_INT_AND_FLOAT_NATIVE, true);
$mysqli-> set_charset("utf8"); /**
* 检测数据库连接是否有错,一切正常时 connect_errno 为 0
* 当发生错误时,connect_error 记录了错误信息
*/
if ($mysqli -> connect_errno != 0) echo $mysqli -> connect_error; /**
* 准备一个 SQL 语句并执行,返回结果集
*/
$sql = "SELECT * FROM user";
$mysqli_result = $mysqli -> query($sql); /**
* 获取查询结果返回一个关联数组,常量参数解析如下
* MYSQLI_NUM 返回常规数组 (拒绝)
* MYSQLI_ASSOC 返回关联数组 (推荐)
* MYSQLI_BOTH 返回混合数组 (默认)
*/
$result = $mysqli_result -> fetch_all(MYSQLI_ASSOC); /**
* 关闭 mysqli 对象从而关闭数据库连接
*/
$mysqli -> close(); /**
* 打印查询结果的详细信息
*/
var_dump($result);
上一篇:Linux FFmpeg(含x264、lame插件)安装记录


下一篇:linux命令学习笔记( 2 ) : cd 命令