安装PHP出现make: *** [sapi/cli/php] Error 1 解决办法

  • 内容
  • 评论
  • 相关

ext/iconv/.libs/iconv.o: In function `php_iconv_stream_filter_ctor':
/home/king/php-5.2.13/ext/iconv/iconv.c:2491: undefined reference to `libiconv_open'
collect2: ld returned 1 exit status
make: *** [sapi/cli/php] Error 1
[root@test php-5.2.13]# vi Makefile

 

在安裝 PHP 到系统中时要是发生「undefined reference to libiconv_open'」之类的错误信息,那表示在「./configure 」沒抓好一些环境变数值。错误发生点在建立「-o sapi/cli/php」是出错,没給到要 link 的 iconv 函式库参数。 解决方法:编辑Makefile 大约77 行左右的地方: EXTRA_LIBS = ..... -lcrypt 在最后加上 -liconv,例如: EXTRA_LIBS = ..... -lcrypt -liconv 然后重新再次 make 即可。

 

或者用另一种办法

make ZEND_EXTRA_LIBS='-liconv'

ln -s /usr/local/lib/libiconv.so.2 /usr/lib64/

 

注:加上 -liconv,需要确认已安装libiconv

libiconv安装

http://www.gnu.org/software/libiconv/

 

# tar -zxvf  libiconv-1.9.2.tar.gz
# cd libiconv-1.9.2
# ./configure --prefix=/usr/local

# make
# make install
# make clean

再次安装 PHP时又报错

ext/standard/info.o: In function `php_info_print_request_uri':
/root/php-5.4.16/ext/standard/info.c:97: undefined reference to `sapi_globals'
ext/standard/info.o: In function `php_print_gpcse_array':
/root/php-5.4.16/ext/standard/info.c:209: undefined reference to `executor_globals'
ext/standard/info.o: In function `php_print_info':
/root/php-5.4.16/ext/standard/info.c:874: undefined reference to `executor_globals'
/root/php-5.4.16/ext/standard/info.c:877: undefined reference to `executor_globals'
/root/php-5.4.16/ext/standard/info.c:880: undefined reference to `executor_globals'
/root/php-5.4.16/ext/standard/info.c:883: undefined reference to `executor_globals'
collect2: ld returned 1 exit status
make: *** [sapi/cli/php] 错误 1

出现这样的错误信息可能是以前用不同的参数编译过PHP。

 

解决方法:执行make clean删除上次的编译结果,然后再重新编译就OK了。

make ZEND_EXTRA_LIBS='-liconv'

评论

0条评论

发表评论

电子邮件地址不会被公开。 必填项已用*标注