系統: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就可以了
至於原理什么的,本人是不懂的,反正是解決了,如果有好心人願意告訴我,不甚感激