CentOs 5でのPHP Pecl Intl拡張機能のインストール/有効化


8

元の質問:

CentOs 5マシンにPHP Pecl Intl拡張機能をインストールできません。

両方icuをインストールした後libicu、次のコマンドを使用します。

$ yum install icu
$ yum install libicu

Intl拡張機能を次のようにインストールしようとしました:

$ /usr/bin/pecl install intl

ICUライブラリとヘッダーファイルのデフォルトの場所を検索することを選択しました。次のようにクラッシュします:

checking whether to enable internationalization support... yes, shared
checking for icu-config... no
checking for location of ICU headers and libraries... not found
configure: error: Unable to detect ICU prefix or no failed. Please verify ICU install prefix and make sure icu-config works.
ERROR: `/tmp/pear/temp/intl/configure --with-icu-dir=DEFAULT' failed

更新

RusAlex(RusAlexに感謝)の提案に従って、icuの開発バージョンを正常にインストールした後:

$ yum install libicu-devel

私はローカルで次のコマンドも発生した新しい問題に遭遇しました:

$ /usr/bin/pecl install intl

このエラーが発生します:

 /private/tmp/pear/temp/intl/collator/collator_class.c:92: error: duplicate 'static'
 /private/tmp/pear/temp/intl/collator/collator_class.c:96: error: duplicate 'static'
 /private/tmp/pear/temp/intl/collator/collator_class.c:101: error: duplicate 'static'
 /private/tmp/pear/temp/intl/collator/collator_class.c:107: error: duplicate 'static'
 make: *** [collator/collator_class.lo] Error 1
 ERROR: `make' failed

PHP 5.3がすでにIntlにバンドルされていることと関係があるようです。しかし、PHP拡張機能を調べても、それに対する参照が見つからない場合、どうすればこの拡張機能を有効にできますか?

回答:


11
sudo yum install libicu
sudo yum install libicu-devel.x86_64
sudo /usr/bin/pecl install intl
sudo echo 'extension=intl.so' >> /etc/php.ini

そして、あなたは行ってもいいです。そして、php.iniにextension = intl.soを手動で入力するか、さらにエレガントな方法で/etc/php.d/ディレクトリに新しい.iniファイルを作成します。


私のために働いた。Centos 5.8 x86_64とCPanel。
djskinner

私にとって、3行目:sudo / usr / bin / pecl install intl「command not found」と表示されていますが、何か不足していますか?
Dashrath 2017

7

正解です。PHP5.3以降、PHPにはIntlが含まれているため、PECLパッケージをインストールできません。

YUMを使用してPHPをインストールした場合は、intlパッケージをプルダウンするだけです。

> yum list php*intl
> yum install <file_from_above>

3

これは私にとってCentOS 5.6で機能しました:

yum install gcc gcc-cpp gcc-c++

その後、すべてのエラーはintl消えました



1
  1. /usr/bin/pecl install intl

  2. 検索ログchecking for icu-config... /usr/bin/icu-config*。後で
    持っているディレクトリのパスが必要になります/bin/icu-config

  3. phpをダウンロード:

    wget http://us2.php.net/get/php-5.3.6.tar.gz/from/jp.php.net/mirror

    tar xvzf php-5.3.6.tar.gz

    cd php-5.3.6/ext/intl/

  4. intlモジュールをコンパイルしてインストールします。phpize

    ./configure --enable-intl --with-icu-dir=/usr

    make

    make test

    sudo make install

  5. 最後に、に追加extension=intl.sophp.iniます。


1

インストールicu-devまたはicu-develパッケージ化する必要があるようです。

開発パッケージが必要です。


ありがとう、それでもう少し先に進んだので、それに応じて投稿を更新した。参考までに、私が使用した開発バージョンをインストールするコマンドは次の$ yum install libicu-devel
とおり


0

CentOSでも同じ問題が発生しました。その後、peclを使用してINTLを正常にインストールしました。

1)icuとlibsをインストールします。

yum -y install icu libicu libicu-devel 

2)php-develパッケージとphpize:

yum -y install php-devel phpize

3)そして、もちろんgcc:

yum -y install gcc gcc-cpp gcc-c++

(gcc、gcc-cpp、gcc-c ++の+1からyuriまで、評価がないためコメントできません)

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.