linux下为php添加iconv模块的方法

./configure –with-mysql=/backup/mysql –with-freetype-dir –with-jpeg-dir –with-png-dir –with-zlib –with-curl –with-gd –enable-gd-native-ttf –with-apxs2=/usr/local/apache/bin/apxs –enable-sockets –with-iconvmake时提示:

代码如下:

……………………………………………..ext/iconv/.libs/iconv.o(.text+0x1738): in function `zif_iconv_mime_encode’:/home/jjdai/work/zhupiter/php-5.2.0/ext/iconv/iconv.c:1017: undefined reference to `libiconv_open’ext/iconv/.libs/iconv.o(.text+0x1756):/home/jjdai/work/zhupiter/php-5.2.0/ext/iconv/iconv.c:1031: undefined reference to `libiconv_open’ext/iconv/.libs/iconv.o(.text+0x1993):/home/jjdai/work/zhupiter/php-5.2.0/ext/iconv/iconv.c:1290: undefined reference to `libiconv_close’ext/iconv/.libs/iconv.o(.text+0x19ad):/home/jjdai/work/zhupiter/php-5.2.0/ext/iconv/iconv.c:1293: undefined reference to `libiconv_close’ext/iconv/.libs/iconv.o(.text+0x1b01):/home/jjdai/work/zhupiter/php-5.2.0/ext/iconv/iconv.c:1102: undefined reference to `libiconv’ext/iconv/.libs/iconv.o(.text+0x1b33):/home/jjdai/work/zhupiter/php-5.2.0/ext/iconv/iconv.c:1134: undefined reference to `libiconv’ext/iconv/.libs/iconv.o(.text+0x1b5e):/home/jjdai/work/zhupiter/php-5.2.0/ext/iconv/iconv.c:1150: undefined reference to `libiconv’ext/iconv/.libs/iconv.o(.text+0x1e10):/home/jjdai/work/zhupiter/php-5.2.0/ext/iconv/iconv.c:1202: undefined reference to `libiconv’ext/iconv/.libs/iconv.o(.text+0x1e3c):/home/jjdai/work/zhupiter/php-5.2.0/ext/iconv/iconv.c:1233: undefined reference to `libiconv’ext/iconv/.libs/iconv.o(.text+0x207f):/home/jjdai/work/zhupiter/php-5.2.0/ext/iconv/iconv.c:1277: more undefined references to `libiconv’ followext/iconv/.libs/iconv.o(.text+0x2c08): in function `php_iconv_stream_filter_dtor’:/home/jjdai/work/zhupiter/php-5.2.0/ext/iconv/iconv.c:2393: undefined reference to `libiconv_close’ext/iconv/.libs/iconv.o(.text+0x2cf2): in function `php_iconv_stream_filter_append_bucket’:/home/jjdai/work/zhupiter/php-5.2.0/ext/iconv/iconv.c:2543: undefined reference to `libiconv’ext/iconv/.libs/iconv.o(.text+0x2d34):/home/jjdai/work/zhupiter/php-5.2.0/ext/iconv/iconv.c:2543: undefined reference to `libiconv’ext/iconv/.libs/iconv.o(.text+0x2de7):/home/jjdai/work/zhupiter/php-5.2.0/ext/iconv/iconv.c:2465: undefined reference to `libiconv’ext/iconv/.libs/iconv.o(.text+0x30e2): in function `php_iconv_stream_filter_factory_create’:/home/jjdai/work/zhupiter/php-5.2.0/ext/iconv/iconv.c:2419: undefined reference to `libiconv_open’collect2: ld returned 1 exit statusmake: *** [sapi/cli/php] error 1

解决方法

代码如下:

wget http://ftp.gnu.org/pub/gnu/libiconv/libiconv-1.13.1.tar.gztar -zxvf libiconv-1.13.1.tar.gzcd libiconv-1.13.1./configure –prefix=/usr/local/libiconvmakemake install

再检查php

代码如下:

#./configure –with-mysql=/backup/mysql –with-freetype-dir –with-jpeg-dir –with-png-dir –with-zlib –with-curl –with-gd –enable-gd-native-ttf –with-apxs2=/usr/local/apache/bin/apxs –enable-sockets –with-ic/local/libiconv#make#make install

另一种解决方法为去除iconv模块也能正常编译php,如下:編輯 makefile 大約 77 行左右的地方:extra_libs = ….. -lcrypt在最後加上 -liconv,例如:extra_libs = ….. -lcrypt -liconv再运行make就可以了。

以上就介绍了linux下为php添加iconv模块的方法,包括了方面的内容,希望对php教程有兴趣的朋友有所帮助。

Posted in 未分类