## 编译 ``` 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`