Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/perl/11.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Perl Apache 2.4环境变量CONTEXT\u DOCUMENT\u ROOT应该包含什么值?_Perl_Apache_Environment Variables - Fatal编程技术网

Perl Apache 2.4环境变量CONTEXT\u DOCUMENT\u ROOT应该包含什么值?

Perl Apache 2.4环境变量CONTEXT\u DOCUMENT\u ROOT应该包含什么值?,perl,apache,environment-variables,Perl,Apache,Environment Variables,最近在GoDaddy上从Apache2.2到2.4的更新导致我的Perl脚本出现故障。这是一个共享的托管环境。我一直在和GoDead技术支持进行对话,但没有发现我在Apache基金会、谷歌搜索中所能找到的一切,这里有一些帮助,但是已经空了。我有两个网站,一个是子域。我的Perl scrips查找一个环境变量(SUBDOMAIN_DOCUMENT_ROOT),如果请求的URL在子域中,则会在2.2服务器中设置该变量,否则不会设置该变量。在这两种情况下,文档的根都被设置在主域的顶部。一旦脚本确定了它

最近在GoDaddy上从Apache2.2到2.4的更新导致我的Perl脚本出现故障。这是一个共享的托管环境。我一直在和GoDead技术支持进行对话,但没有发现我在Apache基金会、谷歌搜索中所能找到的一切,这里有一些帮助,但是已经空了。我有两个网站,一个是子域。我的Perl scrips查找一个环境变量(SUBDOMAIN_DOCUMENT_ROOT),如果请求的URL在子域中,则会在2.2服务器中设置该变量,否则不会设置该变量。在这两种情况下,文档的根都被设置在主域的顶部。一旦脚本确定了它的上下文,它就会寻找合适的数据文件

在Apache2.4更新之后,SUBDOMAIN_DOCUMENT_ROOT变量消失了。环境中现在有一个新变量CONTEXT\u DOCUMENT\u ROOT。但是,无论调用的脚本是在主域还是子域中,它始终指向主域的顶部。除了以下内容外,我几乎没有发现任何关于CONTEXT_DOCUMENT_ROOT的文档:

修订版1132494
作者:sf
日期:2011年6月5日21:33:12 UTC(2年,1个月前)
更改路径:11
日志消息:
-介绍上下文前缀(URL前缀)和上下文文档根(URL前缀映射到的文件系统目录)的概念。文档根的这种泛化使脚本更容易创建自引用URL并查找其文件。
-在mod_rewrite和ap_expr中将CONTEXT_DOCUMENT_ROOT和CONTEXT_PREFIX作为envvars公开。
-使mod_别名和mod_userdir设置上下文信息。
-允许基于每个请求覆盖文档根目录。这允许批量虚拟主机模块正确设置文档根。
-使mod_vhost_别名设置每个请求文档根


在我看来,这意味着,如果请求的URL位于子域中,那么CONTEXT_DOCUMENT_ROOT应该指向子域树的顶部。如果是这样,GoDaddy安装就被破坏了。他们说不是。有人能告诉我上下文文档根的最终文档吗?最好有一两个例子?

可能会在这里介绍(最近):@ashley-有趣。。。REAL_DOCUMENT_ROOT出现在php可用的环境中,并且设置正确,但它不在Perl可用的环境中。我会试着从戈达迪的支持中恢复过来。php环境还包含CONTEXT\u DOCUMENT\u ROOT,但它与Perl一样设置为主域。