2010-11-11 57 views
3

我遇到了PHP函數iconv的一些問題,我已經跟蹤了iconv實現。正如手冊所述,「請注意,某些系統上的iconv功能可能無法按預期工作,在這種情況下,安裝GNU libiconv庫是一個不錯的主意。」 http://uk3.php.net/manual/en/intro.iconv.php在CentOS 5.5上將PHP ICONV glibc轉換爲libiconv

我從http://www.gnu.org/software/libiconv/下載libiconv的庫,並使用安裝了它,沒有任何問題:

$ ./configure --prefix=/usr/local 
$ make 
$ make install

我現在的問題是如何鏈接此安裝PHP?從我讀過什麼,我需要重新編譯PHP與

--with-iconv-dir=/usr/local/

但我要如何做到這一點在CentOS?我安裝了PHP與

yum install php.x86_64

我試圖百勝重新安裝PHP但是當我服務的httpd重新啓動我的phpinfo讀取相同的,glibc的

有沒有更好的方法在CentOS上安裝libiconv?如果不是如何讓PHP使用這個安裝而不擾亂yum?

提前感謝

回答

1

您應該手動重新編譯配置腳本的手動改變,以力後的PHP的iconv擴展名(在php-x.y.z/ext/iconv/子目錄)它選擇GNU libiconv而不是glibc的iconv。請參閱我的answer以獲取類似的Stack問題。

+0

我只是看着你的其他答案,它看起來不錯。我會盡力在本週找一些時間來嘗試一下。感謝那! – 2011-02-01 11:43:09

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(除從不勸u到備份的php.ini)

+0

非常感謝。我希望有一個更容易的'一鍵'方法,但我會從源代碼編譯。 – 2010-11-12 09:13:22

+0

Peter,你用iconv編譯時使用了什麼選項?從源代碼編譯PHP後,似乎glibc仍然是PHP正在使用的iconv版本。 – Randell 2011-01-19 08:02:19