質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

ただいまの
回答率

87.78%

PHP intl ICU 55.1をインストールしたい

受付中

回答 1

投稿

  • 評価
  • クリップ 1
  • VIEW 4,752

score 881

phpenv + php-buildでPHP7の環境を構築し、Symfony2.8を導入しています。
Symfonyの環境チェックコマンドを使用し、確認すると次のメッセージが表示されました。

$ php app/check.php
 * intl ICU version installed on your system (50.1.2) should match the
   ICU data bundled with Symfony (55.1)
   > In most cases you should be fine, but please verify there is no
   > inconsistencies between data provided by Symfony and the intl
   > extension. See https://github.com/symfony/symfony/issues/15007
   > for an example of inconsistencies you might run into.

ほとんどの場合、問題はないそうですが、警告メッセージは解消したく。
ICUのバージョンを上げようと思ったのですが、どうやってアップデートすればよいのか調べてもよくわからなかったので質問しました。
また、intl ICUについても、何のためのパッケージなのかいまいち、分かりません。

詳しい方ご教示いただけると嬉しいです。

 環境

$ cat /etc/redhat-release
CentOS Linux release 7.2.1511 (Core)

$ phpenv -v
phpenv 0.4.0

$ php -v
PHP 7.0.6 (cli) (built: May  8 2016 16:47:27) ( NTS )
Copyright (c) 1997-2016 The PHP Group
Zend Engine v3.0.0, Copyright (c) 1998-2016 Zend Technologies
    with Zend OPcache v7.0.6-dev, Copyright (c) 1999-2016, by Zend Technologies
    with Xdebug v2.4.0, Copyright (c) 2002-2016, by Derick Rethans

$ php app/console --version
Symfony version 2.8.5 - app/dev/debug

$ php -m | grep intl
intl

 php-buildオプション

$HOME/.phpenv/plugins/php-build/share/php-build/default_configure_options

$ cat $HOME/.phpenv/plugins/php-build/share/php-build/default_configure_options
--without-pear
--with-gd
--enable-sockets
--with-jpeg-dir=/usr
--with-png-dir=/usr
--enable-exif
--enable-zip
--with-zlib
--with-zlib-dir=/usr
--with-kerberos
--with-openssl
--with-mcrypt=/usr
--enable-soap
--enable-xmlreader
--with-xsl
--enable-ftp
--enable-cgi
--with-curl=/usr
--with-tidy
--with-xmlrpc
--enable-sysvsem
--enable-sysvshm
--enable-shmop
--with-mysql=mysqlnd
--with-mysqli=mysqlnd
--with-pdo-mysql=mysqlnd
--with-pdo-sqlite
--enable-pcntl
--with-readline
--enable-mbstring
--disable-debug
--enable-fpm
--enable-bcmath
--with-apxs2
--enable-intl

ここでintlを有効化しています。
intlのICUのバージョンを指定する方法がわからず、困っております。

 php-buildオプション(PHP7.0.6)

$HOME/.phpenv/plugins/php-build/share/php-build/definitions/7.0.6

$ cat $HOME/.phpenv/plugins/php-build/share/php-build/definitions/7.0.6
install_package "https://secure.php.net/distributions/php-7.0.6.tar.bz2"
install_xdebug "2.4.0"
enable_builtin_opcache
--enable-apc
--enable-apc-debug
--enable-apc-filehits
  • 気になる質問をクリップする

    クリップした質問は、後からいつでもマイページで確認できます。

    またクリップした質問に回答があった際、通知やメールを受け取ることができます。

    クリップを取り消します

  • 良い質問の評価を上げる

    以下のような質問は評価を上げましょう

    • 質問内容が明確
    • 自分も答えを知りたい
    • 質問者以外のユーザにも役立つ

    評価が高い質問は、TOPページの「注目」タブのフィードに表示されやすくなります。

    質問の評価を上げたことを取り消します

  • 評価を下げられる数の上限に達しました

    評価を下げることができません

    • 1日5回まで評価を下げられます
    • 1日に1ユーザに対して2回まで評価を下げられます

    質問の評価を下げる

    teratailでは下記のような質問を「具体的に困っていることがない質問」、「サイトポリシーに違反する質問」と定義し、推奨していません。

    • プログラミングに関係のない質問
    • やってほしいことだけを記載した丸投げの質問
    • 問題・課題が含まれていない質問
    • 意図的に内容が抹消された質問
    • 過去に投稿した質問と同じ内容の質問
    • 広告と受け取られるような投稿

    評価が下がると、TOPページの「アクティブ」「注目」タブのフィードに表示されにくくなります。

    質問の評価を下げたことを取り消します

    この機能は開放されていません

    評価を下げる条件を満たしてません

    評価を下げる理由を選択してください

    詳細な説明はこちら

    上記に当てはまらず、質問内容が明確になっていない質問には「情報の追加・修正依頼」機能からコメントをしてください。

    質問の評価を下げる機能の利用条件

    この機能を利用するためには、以下の事項を行う必要があります。

回答 1

0

intlは国際化関数のモジュールですね。

ICUライブラリの不整合らしいです。
http://qiita.com/emegane/items/f8f66eeb6dbac95c662d
ここをご覧ください。

ICUライブラリは現在、57.1が最新版ですが、きっとバージョンを合わせたほうがいいですね。
http://site.icu-project.org/download
ここから55.1が探せます。

投稿

編集

  • 回答の評価を上げる

    以下のような回答は評価を上げましょう

    • 正しい回答
    • わかりやすい回答
    • ためになる回答

    評価が高い回答ほどページの上位に表示されます。

  • 回答の評価を下げる

    下記のような回答は推奨されていません。

    • 間違っている回答
    • 質問の回答になっていない投稿
    • スパムや攻撃的な表現を用いた投稿

    評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。

  • 2016/05/08 23:27

    回答ありがとうございます。
    早速導入してみようと思ったのですが、途中で進め方がわからず詰まってしまいました。

    もしよろしければ参考になるインストール方法などご教示いただけないでしょうか。

    ```
    # wget http://download.icu-project.org/files/icu4c/55.1/icu4c-55_1-src.tgz
    # tar zxf icu4c-55_1-src.tgz
    # cd icu/source
    # ./configure --prefix=/opt/icu4c-55_1 && make && make install
    # phpenv pecl install intl
    [info] build install on php-7.0.6
    [info] create build directory: /tmp/pecl-build/
    [warn] already exist old dir. remove it.
    [info] fetch package: https://pecl.php.net/get/install
    % Total % Received % Xferd Average Speed Time Time Time Current
    Dload Upload Total Spent Left Speed
    100 51 100 51 0 0 65 0 --:--:-- --:--:-- --:--:-- 65

    gzip: stdin: not in gzip format
    tar: Child returned status 1
    tar: Error is not recoverable: exiting now
    ```

    よろしくお願いします。

    キャンセル

15分調べてもわからないことは、teratailで質問しよう!

  • ただいまの回答率 87.78%
  • 質問をまとめることで、思考を整理して素早く解決
  • テンプレート機能で、簡単に質問をまとめられる

関連した質問

同じタグがついた質問を見る