PHP 扩展在 Linux(centos7)系统下的编译与安装 以 mysqli 为例
(操作系统 Centos7,环境版本 php7)
01,进入到 PHP 解压后的源码包的的 ext 文件夹
02,查看是否存在 mysqli 扩展 => ls, 如果不存在需要去响应网站下载 (百度 Google 下载)
03,这里既是所有 PHP 官方提供的扩展,进入到 mysqli 目录 => cd mysqli
04,执行命令 => phpize
05,如果出现以上错误可以用 yum 安装依赖 => yum -y install autoconf => phpize
06,配置编译参数 ./configure --with-mysqli=mysqlnd 这里要求你必须先安装了 mysqlnd
07,配置完成后编译扩展 => make
08,如果出现以上错误,将 mysqli_api.c 文件第 36 行的代码中的相对路径修改成如下的绝对路径
09,比较新一点 php 版本如果扩展编译时使用默认路径,那么也可以这样配置,这种配置的好处是迁移时不需要修改
10,再次执行 make => make install,出现如下界面为编译安装成功
11,以上返回的路径便是扩展安装的路径,记住红框内的路径,查看模块是否安装成功
ls /root/software/php/lib/php/extensions/no-debug-non-zts-20170718/
12,以上的 mysqli.so 就是 mysqli 扩展
13,修改配置文件 php.ini ( 如果找不到,请移步 https://www.cnblogs.com/lovling/p/9301851.html )
14,在文件的最后添加如下代码,右边的路径就是 mysqli.so 所在的路径
15,重启 php-fpm 或者 httpd (根据自己的环境选择)
16,随意访问一个写有 <?php phpinfo() ?> 的文件,出现以下画面为安装成功
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);
PHP 扩展在 Linux(centos7)系统下的编译与安装 以 mysqli 为例的更多相关文章
- Linux centos7系统下svn的安装与配置
一.安装svn # yum -y install svn 二.查看svn版本信息 # svnserve --version 三.搭建svn版本库(假设项目名称为project) 1.首先创建版本库目录 ...
- Linux centos7环境下安装JDK的步骤详解
Linux centos7环境下安装JDK的步骤详解 测试root用户下JAVA版本 输入命令: java –version 1.先到Oracle官网里下载好jdk,网址如下: http://ww ...
- linux centos7环境下安装apache2.4+php5.6+mysql5.6 安装及踩坑集锦
linux centos7环境下安装apache2.4+php5.6+mysql5.6 安装及踩坑集锦(一) 一.Linux下安装MySQL 1.下载 下载地址:http://dev.mysql.co ...
- linux centos7环境下安装apache2.4+php5.6+mysql5.6 安装及踩坑集锦(二)
linux centos7环境下安装apache2.4+php5.6+mysql5.6 安装及踩坑集锦(二) 安装apache web容器 . yum方式安装apache 注意apache在linux ...
- linux ubuntu系统下,adb不是内部命令 (如何才能让adb命令可以使用)
linux ubuntu系统下,adb不是内部命令 原文地址 linux ubuntu系统下,adb不是内部命令 解决方法: 1.sudo gedit ~/.bashrc 2.将下面的两句加到上面打开 ...
- Linux(CentOS)系统下安装好apache(httpd)服务后,其他电脑无法访问的原因
原文:Linux(CentOS)系统下安装好apache(httpd)服务后,其他电脑无法访问的原因 今天试了下在虚拟机上利用CentOS系统的yum命令安装好了httpd(apache2.4.6), ...
- Linux centos7环境下安装MySQL的步骤详解
Linux centos7环境下安装MySQL的步骤详解 安装MySQL mysql 有两个跟windows不同的地方 1).my.ini 保存到/etc/my.ini 2).用户权限,单独用户执行 ...
- Linux centos7环境下安装Nginx
Linux centos7环境下安装Nginx的步骤详解 1. 首先到Nginx官网下载Nginx安装包 http://nginx.org/download/nginx-1.5.9.tar.gz ...
- centos7系统下搭建docker本地镜像仓库
## 准备工作 用到的工具, Xshell5, Xftp5, docker.io/registry:latest镜像 关于docker的安装和设置加速, 请参考这篇博文centos7系统下 docke ...
随机推荐
- Java第11次实验(数据库)
参考资料 数据结构实验参考文件 数据库初始化文件 MySQL操作视频 数据库相关jar文件请参考QQ群文件. 第1次实验 1. MySQL数据库基本操作 完整演示一遍登录.打开数据库.建表.插入 常见 ...
- table thead 置顶
table tbody { display:block; max-height:300px; overflow-y:scroll;}table thead, tbody tr { display:ta ...
- 使用googletest进行C++单元测试(Netbeans为例)
googletest设置步骤(Netbeans为例) 下载googletest [https://github.com/google/googletest],解压到<gtest_dir> ...
- 【性能测试】使用ab做Http性能测试
[[TOC]] Http性能测试工具 ab(ApacheBench) 安装: yum install httpd 使用 ab -n 20 -c 1 192.168.35.1:8988/fortest ...
- 【剑指offer】调整数组数字位置
输入一个整数数组,实现一个函数来调整该数组中数字的顺序,使得所有的奇数位于数组的前半部分,所有的偶数位于数组的后半部分,并保证奇数和奇数,偶数和偶数之间的相对位置不变. *思路:遍历数组,找到第一个偶 ...
- 将Json对象数组转化成JS Array数组
private format(cards:any):Array<any>{ var result = new Array(); cards.forEach(element => { ...
- 学习笔记之Machine Learning by Andrew Ng | Stanford University | Coursera
Machine Learning by Andrew Ng | Stanford University | Coursera https://www.coursera.org/learn/machin ...
- SecureCRT & SecureFx 绿色破解版
租了腾讯云的服务器,是 ubuntu 版的,需要用到 SecureCRT 工具来远程链接,但是连接的只是控制台,只能输入命令操作,如果要下载文件什么的,就很麻烦,这时可以使用 SecureFx 来传输 ...
- Spring+MyBatis实现数据库读写分离方案
推荐第四种:https://github.com/shawntime/shawn-rwdb 方案1 通过MyBatis配置文件创建读写分离两个DataSource,每个SqlSessionFactor ...
- 清除win7桌面背景的图片位置下拉菜单的历史记录
到注册表 清除win7桌面背景的图片位置下拉菜单的历史记录: 开始--->运行--->输入regedit,在弹出的注册表编辑器中,定位到如下位置 HKEY_CURRENT_USER\Sof ...