Apache 下载 php 文件而不是运行其源代码

Apache 下载 php 文件而不是运行其源代码

我最近刚刚将 PHP 5.3 升级到5.4在我的 Debian Squeeze 服务器上。现在,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

答案1

该消息的意思是libapache2-mod-php5未安装(rc表示已删除(第一个字母,r),但配置文件未删除(第二个字母 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意思是强制)。

相关内容