## 编译
```
wget http://cn2.php.net/distributions/php-7.1.0.tar.gz
tar -zxvf php-7.1.0.tar.gz
cd php-7.1.0
./configure --prefix=/home/ty/php/output --enable-fpm
make && make install
```
### 说明
1. `--prefix`指定执行文件和库文件的安装目录;
2. `--enable-fpm`安装php-fpm
3. 生成的可执行文件php-fpm在sbin中,其他在bin下
4. pear是php官方开源类库,可用`pear list`列出已安装的包,`pear install`安装需要的包
5. pecl是php的扩展库,下载和安装扩展代码
`./pecl install yaconf`
6. php-config是输出php编译信息的辅助命令
![](https://i.vgy.me/B4Bvp3.png)
7. phpdbg是一个轻量级,具有丰富功能的调试平台(php5.4以上支持)
8. phpize命令用来动态安装扩展
## 使用gdb调试php
1. php必须设置为环境变量
```
gdb php //运行gbd php
b main // 在main函数入口增加断点
r test.php //运行test.php
n //执行下一步
p ini_entries //查看某个变量的信息
```
![](https://i.vgy.me/RPqgD4.png)
## 报错
#### 问题`xml2-config not found. Please check your libxml2 installation](https://www.cnblogs.com/happyhotty/articles/2539864.html`
#### 方案
```
yum install libxml2
yum install libxml2-devel -y
```
#### 问题`Cannot find autoconf. Please check your autoconf installation and the $PHP_AUTOCONF environment variable. Then, rerun this script.`
#### 方案`yum install autoconf`
#### 问题`Package requirements (oniguruma) were not met`
#### 方案`yum install oniguruma-devel -y`
- php
- 安全
- php7
- 特性
- 编译安装
- 源码整体框架
- 基本变量
- thinkphp3.2.3
- thinkphp5.0
- thinkphp6.0
- laravel
- 配置
- 路由
- artisan控制台
- eloquent
- tinker
- composer
- 加密解密
- 小知识点
- 数组
- string
- 代码简洁之道
- 编译
- 语法糖
- lumen
- smarty
- 错题集
- 算法及数据结构
- 线性表结构
- 插入排序
- 冒泡排序
- 数据库
- mysql
- oracle
- PostgreSQL
- redis
- sqlserver
- 前端
- 备忘
- js
- nodejs
- vue
- css
- electron
- vue
- 语法糖
- colorui使用笔记
- 微信小程序
- 操作系统
- windows
- bat
- 快捷键
- linux
- sed
- 问题解决
- git
- docker
- docker-compose
- 正则表达式
- ps
- lua
- 协议相关
- 问题思索
- Golang
- 测试
- 读取和写入json配置文件
- 类
- 接口
- mod
- gin
- fyne
- 禅道二次开发
- 服务
- apache
- 漏洞配置
- http server优化
- nginx
- 安装
- 面试题库
- freeswitch