Apache won't parse php page


Apache won't parse php page

所以我已经在Ubuntu机器上安装了LAMP用于一些php开发,除了解析和显示php页面之外,一切都很好,浏览器询问我是否要下载它们。我知道这是一个有详细记录的问题,我已经浏览了Ubuntu的相关页面,并研究了所有可能的原因。我已经安装了libapache2-mod-php5,在运行sudo a2enmod php5时,我得到module php5 already enabled。因此,我认为我已经将问题缩小到php文件授权问题。

现在我应该指出,这只发生在我修改配置文件以允许/home/public_html中的UserDir之后。使用/var/www文件夹中的默认配置,php文件解析得很好,只要我给自己root访问权限或修改他们的权限,就仍然可以。我没有更改配置文件中的任何其他内容。

所以,我的问题是,如何我检查/修改php授权文件?他们在哪里?我到底要检查什么?

尝试安装:

sudo apt-get install php5 libapache2-mod-php5

然后重新启动服务。

/etc/init.d/apache2 restart 

或者如果使用httpd:

/etc/init.d/httpd restart 

所以我用一些真的繁琐的搜索找出了这个问题,我很惊讶这个解决方案没有更广泛地可用,它真的很简单。/etc/apache2/mods-available/php5.conf文件包含以下行.....

 8     # To re-enable php in user directories comment the following lines
  9     # (from <IfModule ...> to </IfModule>.) Do NOT set it to On as it
 10     # prevents .htaccess files from disabling it.
 11     <IfModule mod_userdir.c>
 12         <Directory /home/*/public_html>
 13             php_admin_value engine Off
 14         </Directory>
 15     </IfModule>

…这显然会禁用用户目录中的PHP。这些需要被注释掉。

这解决了我的问题,但我就是不明白为什么:

AddType application/x-httpd-php .php

我在/etc/httpd/conf/httpd.conf

中添加了以上内容

当我编辑httpd.conf配置

时,问题出现了

我在Centos 7上运行PHP 7.0。我必须在我的/etc/httpd/conf/httpd.conf文件中加载PHP 7模块。

LoadModule php7_module        /usr/lib64/httpd/modules/libphp7.so
<FilesMatch '.php$>
    SetHandler application/x-httpd-php
</FilesMatch>

和往常一样,在修改apache

之后,记得修改sudo service httpd restart