如何在Ubuntu下修复"不在配置的docroot中"的apache错误

Fin*_*ish 4 php apache ubuntu virtual-hosts

问候专家和大师,我正在寻找apache php配置问题的一些帮助.

我已经在ubuntu服务器上的apache2设置上运行了几个网站已经有一段时间没有问题,在我的etc/apache2/conf.d/virtual.conf文件中使用了NameVirtualHost*行.我最近更新了服务器版本到最新的lts版本,我现在无法运行php文件.

我正在运行我的所有站点"/ home/www/[site-name]/htdocs",我已经设置并启用了/ etc/apache2/sites-available中的所有站点.我也禁用了默认站点.

对于每个站点文件,我已指定以下内容:

    # Indexes + Directory Root.
    # DirectoryIndex index.html index.htm index.php
    DocumentRoot /home/www/[site-name]/htdocs/

    # CGI Directory
    ScriptAlias /cgi-bin/ /home/www/[site-name]/cgi-bin/
    <Location /cgi-bin>
            Options +ExecCGI
    </Location>

    # Logfiles
    ErrorLog  /home/www/[site-name]/logs/error.log
    CustomLog /home/www/[site-name]/logs/access.log combined
Run Code Online (Sandbox Code Playgroud)

我重新启动apache并在我的服务器上输入php测试页面的url,我遇到了"内部服务器错误".当我检查错误日志时,我得到:

脚本"/home/www/[site-name]/htdocs/test.php"解析为"/home/www/[site-name]/htdocs/test.php"不在配置的docroot中.

Mik*_*ike 14

出于某种原因,在查看错误时,suphp出现了很多.根据这个链接:

不要被愚弄,这与Apche虚拟主机文件根有任何关系,这实际上是suphp配置文件中的另一个设置.包括包含RoundCube脚本的路径修复了这个.例如:docroot =/var/www:/ usr/share/roundcube:/ var/lib/roundcube:$ {HOME}/public_html

您需要编辑/etc/suphp/suphp.conf文件并将其更改docroot为适当的内容.