Apache 不在 Linux/OpenSuse 中处理 php 文件

Posted

技术标签:

【中文标题】Apache 不在 Linux/OpenSuse 中处理 php 文件【英文标题】:Apache not processing php file in Linux/OpenSuse 【发布时间】:2014-11-11 03:24:22 【问题描述】:

我在运行 OpenSuse 的机器上安装了 php 和 Apache2。 问题是:Apache 进程只处理静态 html 文件。当我为一个PHP文件放一个URL时,它不做任何处理,它只是建议将文件保存到硬盘。

我想我必须启用某些东西,但我不知道什么和在哪里。

【问题讨论】:

【参考方案1】:

首先检查你是否在 mods-enabled 中有 php5.conf。检查 php5 mods-enables 在命令下面运行。

sudo dpkg -S php5 | grep libapache2-mod-php5 

还要检查文件 /etc/apache2/mods-available/php5.conf 是否包含以下代码:

<IfModule mod_php5.c>
<FilesMatch "\.ph(p3?|tml)$">
    SetHandler application/x-httpd-php
</FilesMatch>
<FilesMatch "\.phps$">
    SetHandler application/x-httpd-php-source
</FilesMatch>
# To re-enable php in user directories comment the following lines
# (from <IfModule ...> to </IfModule>.) Do NOT set it to On as it
# prevents .htaccess files from disabling it.
<IfModule mod_userdir.c>
    <Directory /home/*/public_html>
        php_admin_value engine Off
    </Directory>
</IfModule>

由于它是一个配置文件,它可能没有随升级安装。要修复它,请清除它然后重新安装:

sudo apt-get purge libapache2-mod-php5
sudo apt-get install libapache2-mod-php5  

还要启用 PHP,你必须运行:

sudo a2enmod php5

之后重启网络服务器:

sudo /etc/init.d/apache2 restart

希望对您有所帮助...

【讨论】:

正如我在问题的标题和正文中提到的,我使用的是 OpenSuse 而不是 Ubuntu 或其他 Debian 发行版。所以所有带有 apt-get 的命令都不起作用。我想提的另一件事是,我在 apache2 文件夹中没有名为 mods-available 的子文件夹。

以上是关于Apache 不在 Linux/OpenSuse 中处理 php 文件的主要内容,如果未能解决你的问题,请参考以下文章

在linux openSUSE 13.1中安装supervisor时出错

Linux OpenSuse c ++编译器问题。 (无法初始化节调试器的解压缩状态)

使 bash 脚本在 Linux 和 Solaris 上运行

强制 Apache 更新日志文件路径而不在 WAMP 中重新启动

Apache 不在 OSX 中的 MAMP 中启动(但 MySQL 工作)

apache_conf 强制HTTPS无处不在