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 ...
随机推荐
- c语言中printf()函数中的参数计算顺序
今天看到了一个关于printf()函数计算顺序的问题,首先看一个例子: #include<stdio.h> int main() { printf("%d---%d---%d&q ...
- PAT 乙级 1018 锤子剪刀布 (20) C++版
1018. 锤子剪刀布 (20) 时间限制 100 ms 内存限制 65536 kB 代码长度限制 8000 B 判题程序 Standard 作者 CHEN, Yue 大家应该都会玩“锤子剪刀布”的游 ...
- vue之过滤器
在vue2.0以前的版本中vue内置的过滤器,但是因为缺乏纯JavaScript的灵活性,现在vue2.0版本中已经删除了内置过滤器,所以需要自己注册过滤器,我们可以定义本地(在某一个template ...
- IDC:电源系统
ylbtech-IDC:电源系统 电源系统(Power System)是由整流设备.直流配电设备.蓄电池组.直流变换器.机架电源设备等和相关的配电线路组成的总体.电源系统为各种电机提供各种高.低频交. ...
- 学习笔记之深度学习(Deep Learning)
深度学习 - 维基百科,自由的百科全书 https://zh.wikipedia.org/wiki/%E6%B7%B1%E5%BA%A6%E5%AD%A6%E4%B9%A0 深度学习(deep lea ...
- [UE4]AWP组合
AWP狙击枪可以由主枪和镜头模型组合而成. 一.主枪 二.镜头组合
- Android中Handler.removeCallbacksAndMessages(null)的作用
众所周知,在Android开发中会大量使用到Handler.但是,由于与activity生命周期不一致,当一个Activity被销毁时,如果Handler对象有Message在排队,则无法释放,进而导 ...
- arcgis for android 读取shp文件中文乱码解决方法
设置注册表默认字符,即可解决中文乱码问题. 'dbfDefault' 设置方法1.开始--运行,输入”Regedit“,打开注册表.2.如是用的是 10.x 版本 ArcGIS Desktop,定位到 ...
- 把SAS批提交添加到鼠标右键
下载注册表管理工具:RegSeeker Portable v2.57 中文绿色便携版 在RegSeeker中搜索:batch
- js之DOM
DOM对象 什么是HTML DOM HTML Document Object Model(文档对象模型) HTML DOM 定义了访问和操作HTML文档的标准方法 HTML DOM 把 HTML ...