浏览器从apache web服务器下载php文件

Eug*_*Lee 8 php apache2

我有一个apache web服务器.假设这个服务器的域名是example.com.

当我访问example.com时,index.php文件在浏览器中正确显示.

然而,当我访问,例如example.com/~user,然后将index.php文件/home/user/public_html/index.php文件被下载,而不是显示.

我该如何解决这个问题?我改变"expose_php = Off"php.ini,但没有任何改变.

Rag*_*geZ 12

如果您使用的是Debian/Ubuntu,请查看此文件 /etc/apache2/mods-available/php5.conf

我看起来像这样,你可以看到我必须评论一些线来让PHP在用户目录中工作

<IfModule mod_php5.c>
    <FilesMatch "\.ph(p3?|tml)$">
        SetHandler application/x-httpd-php
    </FilesMatch>
    <FilesMatch "\.php$">
        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>
</IfModule>
Run Code Online (Sandbox Code Playgroud)

请注意,在编辑文件后,您必须重新启动apache才能使修改生效,在基于debian的系统上重启apache的命令是: /etc/init.d/apache2 restart


小智 5

希望这能让别人头疼.我知道这个问题很老,但在搜索这个问题时仍然会出现这个问题.

我不确定这是否适用于apache2的所有安装,但我在ubuntu上运行apache2并且我的Web浏览器下载文件而不是显示正确的索引文件的问题.

问题出在文件/etc/apache2/mods-enabled/dir.conf这里的默认文档设置覆盖了我在/etc/apache2/httpd.conf中设置的内容

所以只需打开/etc/apache2/mods-enabled/dir.conf并更改列出的文件的顺序.

:)