web-dev-qa-db-ja.com

DebianにPHPの「intl」拡張機能をインストールできません

私はdebianサーバーを持っており、peclを介して「intl」拡張機能をインストールしたいと思っています。

インストール中に「ICUライブラリとヘッダーが見つかる場所を指定してください[DEFAULT]:」と尋ねます。ここでは、DEFAULTを使用するために空のままにするなど、いくつかのオプションを試しましたが、次のエラーが発生します。

configure:error:C++ preprocessor "/ lib/cpp" failed sanity checkを参照してくださいconfig.log' for more details. ERROR:/tmp/pear/temp/intl/configure --with-icu-dir = DEFAULT 'が失敗しました

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

何か案が?

22
matubaum

Ubuntu 12.04 LTSでは、次のように動作しました:

Sudo apt-get install php5-intl
Sudo /etc/init.d/Apache2 restart

バム、警告は消えた!これが将来誰かを助けることを願っています:)

39
JMK

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

apt-get install libicu44 libicu-dev

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

./pecl install intl

Ubuntuを使用する場合の注意:

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

20
szabola

同じエラー:

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

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

Debian Squeezeユーザーは、以下を使用してintl拡張機能をインストールできます。

Sudo apt-get install php5-intl

最初のコメント

このパッケージは私の古いUbuntu 8.04でも動作します...

11
Sylvain Artois

G ++のインストールSudo apt-get install g++Sudo ./pecl install intlトリックをしてくれました。

2
ahmedhelmy007

これはおなじみのように聞こえることは知っていました。 2008年5月に同じ問題が発生しました。ここで説明します: http://old.nabble.com/ubuntu-7.10-pecl-install-intl-p17140873.html

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を使用しているため、問題は別の問題になるはずです。

1
Darren Cook