Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/apache/8.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
`$#u服务器[';SCRIPT#u NAME';]`包含REST资源,而不仅仅是php文件_Php_Apache_Rest - Fatal编程技术网

`$#u服务器[';SCRIPT#u NAME';]`包含REST资源,而不仅仅是php文件

`$#u服务器[';SCRIPT#u NAME';]`包含REST资源,而不仅仅是php文件,php,apache,rest,Php,Apache,Rest,考虑以下GET请求:www.foo.com/bar.php/rest/resource,则应为以下情况: $_SERVER['SCRIPT_NAME'] === 'bar.php'; 这在我的本地机器上是正确的,在我们的开发服务器上也是如此。但在我们的测试服务器中: echo $_SERVER['SCRIPT_NAME']; // bar.php/rest/resource 这是错误的。我很确定这是由一些Apache配置引起的,因为测试服务器在从Apache 2.2升级到2.4.7(为我们的

考虑以下GET请求:www.foo.com/bar.php/rest/resource,则应为以下情况:

$_SERVER['SCRIPT_NAME'] === 'bar.php';
这在我的本地机器上是正确的,在我们的开发服务器上也是如此。但在我们的测试服务器中:

echo $_SERVER['SCRIPT_NAME']; // bar.php/rest/resource
这是错误的。我很确定这是由一些Apache配置引起的,因为测试服务器在从Apache 2.2升级到2.4.7(为我们的组织添加了配置)时开始出现故障。我阅读了Apache升级/发行说明,似乎无法确定到底发生了什么

更多信息: 我已经签出,似乎我的PHP_SELF和SCRIPT_名称被切换了


[PHP_SELF]=>/test.PHP/foo/bar
[SCRIPT\u NAME]=>/test.php

我明白了


[PHP_SELF]=>/test.PHP
[SCRIPT_NAME]=>/test.php/foo/bar

脚本名称由Web服务器(Apache、NGINX等)定义。根据您的服务器配置,
SCRIPT\u NAME
的值将不同。您需要检查两台机器上的vhost配置,并确保它们匹配。

Spot on。我印象深刻。