さて、これはなぜですか?
各リリースのICUライブラリは、さまざまな言語の音訳標準のサポートを追加し、新しい機能と機能を追加し、バグを修正します。 PHPがIntl拡張モジュールのICUを定期的に更新する理由はまだ不明です。 したがって、すべてを自分の手で取り扱わなければなりません。
ソリューションを検索する
Googleで簡単に検索しても、明確な解決策は得られませんでした。 詳細も。 ICU Intlのバージョンが使用しているドラム上のパフェのプログラマーです。 しかし、私たちのものではありません! インターネットの英語圏を検索することを切望しており、偶然、ロシアのブロガーSergei Stoyanovの記録に出会い、Ubuntu 14.04のPHP 5でICUを更新するプロセスを説明しました。 PHP 7では、プロセスは非常に異なりますが、アクションの一般的なシーケンスは同じままです。deleteIntl; ICUの新しいバージョンを収集します。 ICUを探すために鼻を突いてIntlをインストールします。 PHPでIntlを有効にします。 シャンパンを開けて この記事へのコメントも大いに役立ちました(特に、アントンミニンと彼のシェルスクリプトによるコメント)。
ICUバージョン
ICUの最新バージョンは、 公式Webサイトで確認できます 。 現在(2018年2月)、最新リリースは60.2です。
php7.0-intlが使用するICUのバージョンを確認するには、ターミナルに書き込みます
インストールされているモジュールのリストまでスクロールします。 「intl」というタイトルのセクションを見つけます。 私はそこにいました:php -i
国際化サポート=>有効簡単に言えば、氷ではなく、バージョン55.1は2015年前半にリリースされ、それ以降5回更新することに成功しました。 あなたは何かをする必要があります!
バージョン=> 1.1.0
ICUバージョン=> 55.1
ICUデータバージョン=> 55.1
解決策
- Intl拡張機能のフルネームを確認します(PHP 7の場合、通常はphp7.0-intlです):
sudo dpkg --get-selections | grep -v deinstall | grep php
- Intl拡張機能を削除します。
sudo apt-get remove php7.0-intl
- phpizeをインストールします。
sudo apt install php7.0-dev
- gitをインストールします(インストールされていない場合):
sudo apt install git
- icu-install.shをインストールします(元のスクリプトには2つのエラーがあったため、ここではフォークを使用します)。
git -C /tmp clone https://gist.github.com/siffash/76676186de0ffc6eb6cbf89abc7a5e2f icu-install
- スクリプトを実行します。
sudo chmod +x /tmp/icu-install/icu-install.sh
- 利用可能なICUバージョンを確認します。
sudo /tmp/icu-install/icu-install.sh versions
- 最後の(60.2)を選択して、インストールを実行します。
sudo /tmp/icu-install/icu-install.sh install 60.2
- php.iniにintl.soを含めます。
sudo touch /etc/php/7.0/cli/conf.d/20-intl.ini sudo bash -c 'echo "extension=intl.so" > /etc/php/7.0/cli/conf.d/20-intl.ini' sudo touch /etc/php/7.0/apache2/conf.d/20-intl.ini sudo bash -c 'echo "extension=intl.so" > /etc/php/7.0/apache2/conf.d/20-intl.ini'
- Apacheを再起動します。
/etc/init.d/apache2 restart
- phpizeを削除します。
sudo apt-get purge --auto-remove php7.0-dev
- シェルスクリプトを削除します。
rm -rf /tmp/icu-install
次に、ICUバージョンを確認します
そして天井に飛びます:php -i
国際化サポート=>有効PS英語を話す友人がいて、彼らと良いニュースを共有するのに急いでいるなら、ここに私の英語のブログからの英語版があります。
バージョン=> 1.1.0
ICUバージョン=> 60.2
ICUデータバージョン=> 60.2