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 の提案に従って、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より私はそれへの参照を見つけることができません...
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ファイルを作成します。
正解です。 PHP 5.3 IntlはPHPの一部です なので、PECLパッケージをインストールできません。
PHPをYUMを使用してインストールした場合は、intlパッケージをプルダウンするだけです。
> yum list php*intl
> yum install <file_from_above>
これは私にとってCentOS 5.6で機能しました:
yum install gcc gcc-cpp gcc-c++
その後、intl
に関するすべてのエラーが消えました
あなたに必要なのは
yum install libicu-devel
/usr/bin/pecl install intl
検索ログchecking for icu-config... /usr/bin/icu-config*
。
後で/bin/icu-config
が含まれるディレクトリのパスが必要になります。
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/
intlモジュールをコンパイルしてインストールします。 phpize
./configure --enable-intl --with-icu-dir=/usr
make
make test
Sudo make install
最後に、extension=intl.so
をphp.ini
に追加します。
icu-dev
やicu-devel
パッケージなどをインストールする必要があるようです。
開発パッケージが必要です。
gcc、gcc-cpp、およびgcc-c ++がインストールされていますか...少なくとも、これはインストール中の私の問題の1つでした- http://itblogspot.net/php-install-intl
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まで、評価がないためコメントできません)