PHP 5.4编译undefined reference to `libiconv_open’的解决办法

2013-06-09 09:05:35来源:作者:

昨天朋友开发一个PHP程序,make的时候提示错误undefined reference to `libiconv_open',这是什么问题呢?其实是缺少libiconv库的原因。

昨天朋友开发一个PHP程序,make的时候提示错误undefined reference to `libiconv_open',这是什么问题呢?其实是缺少libiconv库的原因。

解决的办法网站很多:

解决方法一:下载安装libiconv,并安装

 $ wget http://ftp.gnu.org/pub/gnu/libiconv/libiconv-1.14.tar.gz
 $ tar xzf libiconv-1.14.tar.gz
 $ ./configure --prefix=/soft/lib/libiconv-1.14
wget http://sourceforge.net/projects/mcrypt/files/Libmcrypt/2.5.8/libmcrypt-2.5.8.tar.gz/download

 $ tar zxf php-5.4.x.tar.gz
 $ cd php-5.4.x-src/
 $ ./configure --prefix=/soft/php/php-5.4.x --enable-fpm --with-iconv=/soft/lib/libiconv-1.14

解决方法二:舍弃libiconv模块

1.编译php的时候去除--enable-static选项,即可

2.libiconv编译的时候指定为静态

./configure --prefix=/usr/local/libiconv --enable-static ....

所以综上不管你是否静态编译php在编译libiconv的时候加上参数--enable-static,libiconv 默认是动态加载,php编译时如果加enable-static就会出现问题,这样就一劳永逸了。

关键词:PHP

赞助商链接: