- 加压php包,指定安装路径
tar xvf php-7.1.29.tar.gz
cd php-7.1.29
./configure --prefix=/opt/projects/php7.1
- 为了gdb可以调试php需要修改一下makefile文件相关配置,
![在这里插入图片描述](https://img-blog.csdnimg.cn/20190523135510907.png)
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’),百度一下发现是这个问题是没有链接某些基础库,所以这个问题的解决思路有了,编译时添加上该库。
![在这里插入图片描述](https://img-blog.csdnimg.cn/20190523135738123.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L0xpbnV4X0RhZW1vbg==,size_16,color_FFFFFF,t_70)
- 再次编辑makefile文件,找到一个叫做:EXTRA_LIBS的变量名,添加一下 之前缺失的库 -liconv
![在这里插入图片描述](https://img-blog.csdnimg.cn/20190523140843953.png)
- 再次make 一下,发现编译通过了。