最近、DebianSqueezeサーバーでPHP 5.3を5.4にアップグレードしました。現在、ApacheはPHPファイルを実行する代わりに、それらをダウンロードするだけです。これは本当に悪いことです。
これら の手順を実行しようとすると、libapache2-mod-php5
パッケージをインストールすると「壊れたパッケージ」が表示されます。
また、答えはhttpd.confに何かを追加するように指示していますが、それは空です。
質問:ダウンロードとして渡すのではなく、Apacheにphpファイルを再度実行させるにはどうすればよいですか?
dpkg -l | grep php
はこれを返します
rc libapache2-mod-php5 5.3.3-7+squeeze15 server-side, HTML-embedded scripting language (Apache 2 module)
rc php5-cli 5.3.3-7+squeeze15 command-line interpreter for the php5 scripting language
ii php5-common 5.4.15-1~dotdeb.2 Common files for packages built from the php5 source
rc php5-Gd 5.3.3-7+squeeze15 Gd module for php5
rc php5-mcrypt 5.3.3-7+squeeze15 MCrypt module for php5
rc php5-mysql 5.3.3-7+squeeze15 MySQL module for php5
rc php5-suhosin 0.9.32.1-1 advanced protection module for php5
rc phpmyadmin 4:3.3.7-7 MySQL web administration tool
そしてapt-get install libapache2-mod-php5
はこのエラーを生成します
The following packages have unmet dependencies:
libapache2-mod-php5 : Depends: libdb5.1 but it is not installable
Depends: libssl1.0.0 (>= 1.0.0) but it is not installable
Depends: libxml2 (>= 2.8.0) but 2.7.8.dfsg-2+squeeze7 is to be installed
Recommends: php5-cli but it is not going to be installed
E: Broken packages
メッセージの意味は、libapache2-mod-php5
はインストールされていません(rc
は削除されたことを意味します(最初の文字、r)が、構成ファイルは削除されません(2番目の文字c))。したがって、Apacheにphpファイルを再度実行させるには、再インストールする必要があります。
パッケージマネージャーは、依存関係が満たされていないことを示しています。基本的に、それは賢いのですが、(おそらく更新中に)要求したことを実行する方法を理解できなかったので、自分で理解する必要があります。詳細な手順については、 この質問 を参照してください。質問は特にUbuntuに関するものですが、そのほとんどはDebianにも当てはまります。
つまり、これらのパッケージがインストールできない理由を理解する必要があります。使用する apt-get install libdb5.1
理由を理解するためにlibdb5.1
をインストールできない場合、apt-get install libssl1.0.0
、 そして最後に apt-get install libxml2
。これにより、不足している、またはバージョンが間違っている他のパッケージが表示されます。問題がどこにあるかがわかったら、おそらくapt-get install -f
そのパッケージ(-f
は力を意味します)。