web-dev-qa-db-ja.com

CentOSからPHPパッケージを削除できませんが、PHPパッケージをPHP 5.3に更新することもできません。

CentOSには腹立たしい問題がありますが、興味深い問題があります。

構築したSymfony2Webサイトを実行するようにこのサーバーを構成しようとしています。 Webサイトが機能せず、問題をサーバー上のPHPパッケージの一部が5.1であることに特定しました。また、新しいパッケージの一部はPHP 5.3。(Symfony2を実行するにはPHP 5.3が必要です)。

次のコマンドを使用します。

yum install php53u.x86_64

そして、私はこのエラーを受け取ります:

エラー:php53-commonはphp-commonと競合します

それはインストールされていると言っていますが。

とにかく、私はyum info phpを使用しますが、サーバーにインストールされているPHPバージョンはまだ5.1.6です。yum remove phpを使用します。古いPHPインストール5.3を新たにインストールできます。次のエラーが発生します。

引数PHPに一致しません。

私は何が間違っているのですか?

5
mickburkejnr

なんとか問題を修正しました。

reflexivで提案されているように_rpm -qa | grep php_を使用すると、次の結果しか返されません。

php53-common-5.3.3-1.el5_7.6

インストールされている唯一のパッケージとして。このパッケージを削除してから、次のコマンドでPHPをインストールしました:

yum install php53 php53-cli php53-common php53-Gd php53-imap php53-intl php53-mbstring php53-mysql php53-odbc php53-pdo php53-pspell php53-snmp php53-xml php53-xmlrpc php-devel

これをインストールしてもエラーは発生しませんでした。 Apacheを再起動し、Symfony2のインストールとphpinfo();を使用してサーバーをテストしました。どちらも動作し、サーバーは飛行する準備ができています!

助けてくれてありがとうreflexiv

2
mickburkejnr

PHPパッケージがインストールされているものを確認するには:rpm -qa | grep php

すでに http://iuscommunity.org リポジトリを使用しているようです。彼らはPHPのようなパッケージのグループをアップグレードするのを助ける素晴らしいツールを持っています:

yum install yum-plugin-replace
yum replace php --replace-with php53

これにより、すべてのコアPHPパッケージが自動的に削除され、IUSから最新のものがインストールされます。詳細については、 http://iuscommunity.org/Docs/ClientUsageGuide#Upgrading_Stock_RHEL_Packages_to_IUS_Packages を参照してください。

1
reflexiv

PHPを古いバージョン5.1.xから5.3.xに更新する最も簡単な方法で、この方法は「NASHOTの方法」と呼ばれます。

  1. GUIモード(Xウィンドウ、できればGnomeデスクトップ)に移動し、[ソフトウェアの追加/削除]セクション(パッケージマネージャー)に移動します。

  2. [検索]タブをクリックし、検索文字列をphpとして入力し、ラジオボタンを[インストール済みパッケージ]に設定して、検索ボタンを押します。

  3. 検索結果には、最初にチェックボックスがオンになっている既存のphpモジュールが表示されます。これは次のようなものです。

    [/] php-5.1.x.....
    [/] php-common-5.1.x......
    [/] php-cli-5.1.x......
    [/] php-ldap-5.1.x......
    Etc...Etc...
    
  4. 次に、すべての結果行のチェックボックスをオフにして、[適用]ボタンをクリックします。これにより、既存のPHPバージョンモジュールが削除されます。

  5. 「パッケージマネージャー」内で「検索」タブをクリックし、検索文字列をphp53と入力します。ラジオボタンを[すべてのパッケージ]に設定し、検索ボタンを押します。

  6. 検索では、新しいPHPバージョン5.3.xに関連する多くの結果行が表示され、各行の前にチェックボックスがオフになっています。

  7. 結果のすべての行のチェックボックスをオンにして、[適用]ボタンをクリックします。

これで、「パッケージマネージャー」は、選択したPHPモジュールの依存関係モジュールをチェックし、新しいPHP 5.3.xパッケージモジュールをダウンロードします。その後、自動的にインストールされます。

次に、システムを再起動し、php -vを使用してPHPバージョンを確認します。結果はPHP 5.3.xになります。

注意:インストールが「依存関係の確認」で停止する場合は、「PHP53-odbc64-5.3.x .....」の選択を確認してください。実際には2つのODBCパッケージがあります。それぞれはOSの32ビットバージョンと64ビットバージョンを対象としています。したがって、選択するのは1 ODBCお使いのOSと互換性のあるパッケージ。

0
BokaLike