- 加压php包,指定安装路径
tar xvf php-7.1.29.tar.gz
cd php-7.1.29
./configure --prefix=/opt/projects/php7.1
- 为了gdb可以调试php需要修改一下makefile文件相关配置,

CC = cc -ggdb3 -fkeep-inline-functions
CFLAGS_CLEAN = -I/usr/include -ggdb3 -O0 -fkeep-inline-functions -Wall -DZEND_SIGNALS $(PROF_FLAGS)
CXXFLAGS = -g -O0 -prefer-non-pic -static $(PROF_FLAGS)
CXXFLAGS_CLEAN = -g -O0
DEBUG_CFLAGS = -Wall -g -O0
不想手动修改configure文件,可以在./configure运行时添加 --enable-debug参数
- 修改完makefile,然后安装
make && make install
- 如果顺利,就会安装成功,但有时候会编译失败,提示 undefined reference to ‘libiconv’, (谷歌翻译:未定义的引用’libiconv’),百度一下发现是这个问题是没有链接某些基础库,所以这个问题的解决思路有了,编译时添加上该库。

- 再次编辑makefile文件,找到一个叫做:EXTRA_LIBS的变量名,添加一下 之前缺失的库 -liconv

- 再次make 一下,发现编译通过了。