web-dev-qa-db-ja.com

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

元の質問:

CentOs 5マシンへのPHP Pecl Intl拡張機能のインストールに問題があります。

次のコマンドでiculibicuの両方をインストールした後:

$ 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 の提案に従って、icuの開発バージョンを正常にインストールした後(RusAlexに感謝)

$ 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 Infoより私はそれへの参照を見つけることができません...

8
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ファイルを作成します。

11
user54883

正解です。 PHP 5.3 IntlはPHPの一部です なので、PECLパッケージをインストールできません。

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

> yum list php*intl
> yum install <file_from_above>
7
Sonic Radish

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

yum install gcc gcc-cpp gcc-c++

その後、intlに関するすべてのエラーが消えました

3
duncan rack

あなたに必要なのは

yum install libicu-devel
  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
Yusuke Katayama

icu-devicu-develパッケージなどをインストールする必要があるようです。

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

1
RusAlex

gcc、gcc-cpp、およびgcc-c ++がインストールされていますか...少なくとも、これはインストール中の私の問題の1つでした- http://itblogspot.net/php-install-intl

0
yuri

CentOSでも同じ問題が発生し、[〜#〜] intl [〜#〜]peclを介して正常にインストールしました:

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まで、評価がないためコメントできません)

0
P.S.