2

因此,我在 Ubuntu 机器上安装了 LAMP 以进行一些 php 开发,并且一切正常,除了解析和显示 php 页面,浏览器询问我是否要下载它们。我知道这是一个有据可查的问题,而且我已经访问过有关它的 Ubuntu 页面,并了解了所有潜在的原因。我已经安装 libapache2-mod-php5并在运行时 sudo a2enmod php5得到module php5 already enabled. 所以我认为我已经将问题缩小到 php 文件授权问题。

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

所以,我的问题是,如何检查/修改 php 授权文件?他们在哪?我具体检查什么?我似乎找不到任何关于此的好信息。

4

4 回答 4

2

尝试安装:

sudo apt-get install php5 libapache2-mod-php5

然后重启服务。。

/etc/init.d/apache2 restart 

或者如果使用 httpd:

/etc/init.d/httpd restart 

然后让我知道情况如何。

于 2013-04-07T02:06:32.303 回答
2

所以我通过一些非常乏味的搜索来解决这个问题,我很惊讶该解决方案没有更广泛地使用,它真的非常简单。该/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。这些需要注释掉。

于 2013-04-07T03:08:30.710 回答
1

这解决了我的问题,但我不知道为什么:

AddType application/x-httpd-php .php

我在 /etc/httpd/conf/httpd.conf 中添加了上述内容

当我编辑 httpd.conf 进行配置时,我的问题就出现了

于 2015-03-18T00:55:19.070 回答
0

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

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

和往常一样,记得sudo service httpd restart在对 apache 进行更改之后

于 2016-10-22T06:45:13.730 回答