web-dev-qa-db-ja.com

CentOSにPHP intl拡張機能をインストールするにはどうすればよいですか?

パッケージのインストールについてはほとんど何も知りません。 Zend Framework 1は、非常に具体的なチュートリアルに従ってしばらく前にyumでインストールできました。

今、PHP intl拡張モジュールが必要です。インストール方法がわかりません。

やった

yum list php*intl

そして、利用可能なものがあることがわかりました。だから私はやった

yum install php-intl

次のエラーメッセージが表示されました:

Error: Package: php-intl-5.3.3-14.el6_3.x86_64 (updates)
       Requires: php-common = 5.3.3-14.el6_3
       Installed: php-common-5.3.17-2.el6.remi.x86_64 (@remi)
           php-common = 5.3.17-2.el6.remi
       Available: php-common-5.3.3-3.el6_2.8.x86_64 (base)
           php-common = 5.3.3-3.el6_2.8
       Available: php-common-5.3.3-14.el6_3.x86_64 (updates)
           php-common = 5.3.3-14.el6_3
 You could try using --skip-broken to work around the problem
 You could try running: rpm -Va --nofiles --nodigest

メッセージに記載されている提案を試みませんでした。なぜなら、それらが何をするのかわからず、何かを壊すのが怖いからです。これは実稼働マシンであり、テストするマシンは他にありません。 PHPと同じバージョンのrpmをダウンロードしようとしましたが、運がありませんでした。

これらの2つの提案は何をしますか?safe試してみてください? intl拡張機能をインストールしようとすると他に何ができますか?

22
toxalot

Remiリポジトリからphp-commomを取得しているため、remiからphp-intlも取得する必要があります。

次のように--enable-repoオプションを追加します。

yum --enablerepo=remi install php-intl
27

より高いPHPバージョン5.6など)がある場合、remiremi-php56リポジトリの両方を有効にして、すべての追加の依存関係をインストールする必要があります。

yum --enablerepo=remi,remi-php56 install php-intl
9
Christos Lytras

次の手順を使用して、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++

これはme.my php version 5.6.12で動作しています

2
Faisal

を使用してphp 7.0

#list all options    
$ Sudo yum list php7*intl

#install
$ Sudo yum install php70-intl
1
Fernando Valler

複数のパッケージを競合するバージョンに更新しようとしているため、Yumはエラーをスローしています。 yumの出力には、php-intlには特定のバージョンのphp-commonが必要であると書かれています。すべてのジャンクを削除します。

Requires 5.3.3-14
Installed 5.3.17-2
Available 1st Option: 5.3.3-3
Available 2nd Option: 5.3.3-14

これにより、php-intlで許可されているよりも新しいバージョンのphp-common(5.3.17-2)が既にインストールされていることがわかります。

2つの選択肢があると思います。 (私自身は初心者として、開発環境で練習することなくこれらを試みません。)

1)remiパッケージを削除する

スーパーユーザーに関する同様の質問からの引用。 「すべてのremi phpパッケージを削除して、remiリポジトリを無効にし、デフォルトのcentos 6 php 5.3.3パッケージをインストールしてください。」

https://superuser.com/questions/505340/centos-6-how-to-install-php-mysql-when-php-common-remi-is-present

2)php-commonをバージョン5.3.3-14にダウングレードします

yum downgrade php-common

依存関係の問題がさらに発生し、他のパッケージをダウングレードする必要があるかどうかはわかりません。ここで詳細を見つけました。

https://www.centos.org/modules/newbb/viewtopic.php?topic_id=40567&forum=56

他のStack Exchangeサイトでも同様の質問が表示されます。

https://serverfault.com/search?q=centos+error+package (370件の結果)

https://unix.stackexchange.com/search?q=centos+error+package (57件の結果)

1
jtherkel