系统:centos 7

原有PHP版本:5.6.27,5.4.45

试着安装nginx+多php版本,首先安装了5.6和5.4的版本,一帆风顺,但是在安装5.3.29版本时,出现问题了,configure顺利通过,但是在make时,报出如下错误:

/usr/bin/ld: ext/intl/msgformat/msgformat_helpers.o: undefined reference to symbol '__gxx_personality_v0@@CXXABI_1.3'
/usr/lib64/libstdc++.so.6: error adding symbols: DSO missing from command line
collect2: error: ld returned 1 exit status
make: *** [sapi/fpm/php-fpm] 错误 1

百度了一下,说是链接库有问题,但是没有给出确切解决方法

找到一篇报同样错误的文章,不过人家不是编译php的时候报的这个错,

链接如下:http://blog.csdn.net/xmzwlw/article/details/48270225

最后一行给出了解决方法,不过此处并不适用,需要做一点修改

首先,修改Makefile文件是一样的,直接在php包里面用ls命令看一下,没有后缀的那个就是,打开之后,大概在103行,找到如下部分:

EXTRA_LIBS = -lcrypt -lz -lexslt -lresolv -lcrypt -lrt -lfreetype -lpng -lz -ljpeg -lcurl -lz -lrt -lm -ldl -lnsl -lxml2 -lz -lm -ldl -lssl -lcrypto -lcurl -lxml2 -lz -lm -ldl -lssl -lcrypto -ldl -lm -licui18n -licuuc -licudata -ldl -lm -licuio -lxml2 -lz -lm -ldl -lxml2 -lz -lm -ldl -lcrypt -lxml2 -lz -lm -ldl -lxml2 -lz -lm -ldl -lxml2 -lz -lm -ldl -lxml2 -lz -lm -ldl -lxslt -lxml2 -lz -ldl -lm -lcrypt -L/usr/lib/x86_64-linux-gnu -lstdc++

红底白字部分是需要添加的内容,加上之后保存推出,重新make就可以了

至于原理什么的,本人是不懂的,反正是解决了,如果有好心人愿意告诉我,不甚感激

05-19 11:51