23

intlDebianサーバーを持っていて、を介して拡張機能をインストールしたいと思いますpecl

インストール中に、次のように尋ねられます。

「ICUライブラリとヘッダーの場所を指定してください[デフォルト]:」

ここでは、DEFAULTを使用するために空のままにするなど、いくつかのオプションを試してきましたが、次のエラーが発生します。

configure:エラー:C++プリプロセッサ"/ lib/cpp"が健全性チェックに失敗する詳細については「config.log」を参照してください。エラー:'/ tmp / pear / temp / intl / configure --with-icu-dir=DEFAULT'が失敗しました

php5.3をインストールしました:make && make install。私はすでにインストールicuしましたが、php5.3とは異なり、でインストールされましたapt-get(これが重要かどうかはわかりません)。

何か案が?

4

5 に答える 5

20

libicu44 と libicu-dev をインストールする必要があります:

apt-get install libicu44 libicu-dev

この後、pecl を使用して intl をインストールできます。

./pecl install intl

Ubuntu を使用している場合は、次の点に注意してください。

l最初のパッケージlibicu44が利用できないようです。その場合、インストールするだけでlibicu-dev、依存関係を調べて処理します。libicu42今のところ使えそうです。

于 2012-08-21T07:43:35.363 に答える
11

同じエラー:

/tmp/pear/temp/intl/collator/collator_class.c:92: error: duplicate 'static'

しかし、intlネイティブ拡張コメントを読んだとき、私は見ました:

Debian Squeezeユーザーは、次の方法でintl拡張機能をインストールできます。

sudo apt-get install php5-intl

最初のコメント

パッケージは私の古いUbuntu8.04でも動作します...

于 2011-07-19T20:14:06.420 に答える
2

sudo apt-get install g++ 前にg ++をインストールするsudo ./pecl install intlと、うまくいきました。

于 2013-05-16T12:43:02.030 に答える
1

これは聞き覚えがあると思いました。私は2008年5月に同じ問題を抱えていました .

Ed Batutis は、「/usr/bin/icu-config」に icu-config がある場合、「/usr」が正しい答えであると説明しました。他の場所にある場合はそれに応じて調整します。

しかし、それは私にとっては役に立ちませんでした。ここで解決策を説明しました:http: //darrendev.blogspot.com/2008/05/install-php-pecl-intl-module-for-ubuntu.html ...これは基本的にPHP_SETUP_ICUマクロを定義することでした。これは 5.2.4 で追加されるはずだったので、php 5.3 を使用しているので、問題は別のものであるはずです。

于 2011-08-10T12:27:05.293 に答える