我遇到了PHP函数iconv的一些问题,我已经跟踪了iconv实现。正如手册所述,“请注意,某些系统上的iconv功能可能无法正常工作。在这种情况下,安装GNU libiconv库是个好主意。” http://uk3.php.net/manual/en/intro.iconv.php
我已经从http://www.gnu.org/software/libiconv/下载了libiconv库并使用以下方法安装了它:
$ ./configure --prefix=/usr/local
$ make
$ make install
我现在的问题是如何将此安装链接到PHP?根据我的阅读,我需要使用
--with-iconv-dir=/usr/local/
重新编译PHP
但我如何在CentOS上执行此操作?我用
yum install php.x86_64
安装了php
我试过 yum重新安装php 但是当我服务httpd重启时,我的phpinfo会读取相同的内容, glibc 。
有没有更好的方法在CentOS上安装libiconv?如果不是如何在不惹恼yum的情况下使用此安装获取PHP?
非常感谢提前
答案 0 :(得分:2)
从源代码编译php似乎就是这样
php -m > /tmp/php.modules
到php的已编译模块列表
备份你当前的php.ini
yum uninstall php
下载php 并基于您现有的模块+ iconv - 几乎所有步骤都在这里详细说明:http://www.php.net/manual/en/install.unix.apache2.php#90478(除非建议您备份php.ini)
答案 1 :(得分:1)
在手动更改configure脚本后,您应该手动重新编译php iconv扩展(在php-x.y.z/ext/iconv/
子目录中),以强制它选择GNU libiconv而不是glibc的iconv。有关类似的Stack问题,请参阅我的answer。