2011-01-31 48 views
1

下面是一個簡單的概述:孤男寡女關於PHP的一些推廣的解釋

我剛剛完成編譯PHP 5.3.5並提出了嘗試編譯「--with」許多不同的擴展。我需要的擴展包括mbstringintl。我可以手動phpize,配置,使,使安裝mbstring擴展,它似乎工作正常。但是,我無法爲intl做同樣的事情。

的./configure線看起來是這樣的:

./configure --with-openssl --with-pcre-regex --enable-calendar 
      --with-curl --enable-exif --enable-ftp --with-gd 
      --with-mhash --enable-mbstring --with-mysql --enable-zip 
      --enable-intl --with-icu-dir=... 

代碼編譯沒有問題:的./configure ......讓,使安裝

我用php.ini-production爲我的php.ini配置和我配置Apache使用php-cgi爲特定的域,並且工作正常。

快速:

<?php phpinfo() ?> 

表明,我實際上運行PHP的新版本。但是,「./configure ...」行中指定的擴展名不顯示在PHP信息頁面的任何位置。

有點偵察後,我發現我能在PHP源文件夾中的單個擴展運行phpize,然後編譯特定模塊的構建和在我的PHP擴展目錄中安裝它。加入後:

extension=MY_EXT 
在我的php.ini

,擴展顯示了我的的phpinfo()頁。

因此,任何人都可以解釋爲什麼--with-mbstring似乎沒有影響我的彙編?

我曾經爲國際分機號碼編制問題,但intl.so文件移動到我的PHP擴展目錄,並在我的php.ini添加延長線沒有影響。

+0

「任何人都可以解釋爲什麼`--with-mbstring`似乎沒有效果。你的意思是`--enable-intl`? – 2011-01-31 22:03:54

+0

我打錯了,實際上的確打算把「--enable-EXT_NAME」(如我的代碼塊中所示)。但是,即使在使用「--enable-mbstring」時,將intl擴展放在一邊,該擴展不會被編譯/安裝/啓用。直到我手動構建它並「安裝」它,我纔得到支持並看到它啓用。 – 2011-02-01 03:24:24

回答

0

php.net,你有沒有試過

如果ICU被安裝,那麼你可能 想在 PATH環境變量中指定其位置 使動態鏈接器可以找到的 非標準目錄:$ 出口LD_LIBRARY_PATH = /選擇/ ICU/lib目錄

否則,如果PHP和ICU安裝到其默認位置 , 則附加選項 `configure'是不需要的。