2017-03-27 98 views
5

我已經安裝了Symfony 3.2.6。當我在瀏覽器中查看/config.php我得到一個消息:Intl擴展與給定的ICU版本的Symfony 3與PHP 7.1

安裝在系統上

國際ICU版本已過期(57.1),不與Symfony的捆綁(58.2) 的ICU數據匹配要獲取最新國際化數據升級ICU系統包和國際PHP擴展。

首先嚐試就像是這裏Update ICU extension within xampp? 描述我下載合適的包從PECL http://site.icu-project.org/download/58 coppied加入到apache/bin文件夾,重新啓動Apache的,但是PHP加載舊57.1 ICU版本更新ICU擴展。

然後我試圖ftom https://pecl.php.net/package/intl更新php_intl.dll但我沒有找到任何合適的包裝爲PHP 7

是否有適當的笏到uprgrade ICU LIB在PHP 7?

+0

http://stackoverflow.com/a/43014825/2359679 – hassan

+0

這是一種一個討厭的問題。目前所有的PHP 7版本都使用ICU版本57.x.我認爲改變dll文件並沒有什麼不同,因爲引用是php_intl.dll的一部分。 – goulashsoup

回答

1

這是一個非常討厭的問題。如果沒有新的兼容PHP版本,因爲更新的國際擴展沒有盡到我猜你要編譯PHP使用自定義ICU版本的伎倆:

的ICU版本可以在這裏簽出:http://source.icu-project.org/repos/icu/icu/tags/

Check out 
cd source 
./configure --prefix=$(pwd)/../build (sets a custom install dir) 
make (build) 
make install (install to "build" dir) 

現在ICU建成後,你需要運行PHP的「configure」腳本,它指向build目錄:

./configure ... --enable-intl --with-icu-dir=/path/to/icu/build