【问题标题】:PHP5 doesn't work an a custom DocumentRootPHP5 不适用于自定义 DocumentRoot
【发布时间】:2011-03-14 13:15:57
【问题描述】:

我目前正在努力解决以下问题。

我已经成功安装了 Apache2 和 PHP5。它一直有效,直到我将 Apache2 的 DocumentRoot 更改为不同于 /var/www 的东西。

我想将 DocumentRoot 设置为 /home//wwwroot,但是这样做之后所有的 php 页面都是白色的。 (没有下载信息什么的)

这是我的 php5.conf:

<IfModule mod_php5.c>
   AddType application/x-httpd-php .php .phtml .php3
   AddType application/x-httpd-php-source .phps
#    <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>
</IfModule>

我不明白,需要帮助。

谢谢!

【问题讨论】:

  • 请问是什么操作系统?如果是 CentOS/RHEL,请检查 SELinux 设置和日志。如果是 Ubuntu,请检查 AppArmor 设置和日志。您可能需要更改设置以允许 Apache 触摸 /home。此外,这可能属于 ServerFault。

标签: php apache configuration document root


【解决方案1】:

试试这个。不要使用AddType,因为这会破坏内容协商。

LoadModule ...
<IfModule php5_module>
    #PHPIniDir "/whatever/"

    AddType text/html .php .phps
    AddHandler application/x-httpd-php .php
    AddHandler application/x-httpd-php-source .phps

    <Directory /home/*/public_html>
        php_admin_value engine Off
    </Directory>
</IfModule>

【讨论】:

  • 我试过了,但没有区别。 #PHPIniDir 重要吗?是评论吧?
【解决方案2】:

如果你想为不同的 php 版本、不同的网站、服务器等使用不同的 ini 文件,PHPIniDir 很重要。我不会删除它,我有不同的 ini 文件用于 windows、osx 和 linux。

【讨论】:

    猜你喜欢
    • 2016-06-28
    • 1970-01-01
    • 2012-12-05
    • 2016-04-29
    • 2017-06-25
    • 2019-05-18
    • 2013-11-05
    • 2015-05-16
    • 2020-12-05
    相关资源
    最近更新 更多