考虑以下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 vs PATH_INFO vs SCRIPT_NAME vs REQUEST_URI,似乎我的PHP_SELF和SCRIPT_NAME已切换。而不是
[PHP_SELF] => /test.php/foo/bar
[SCRIPT_NAME] => /test.php
我得到了
[PHP_SELF] => /test.php
[SCRIPT_NAME] => /test.php/foo/bar
答案 0 :(得分:2)
from TwitterAPI import TwitterAPI
api = TwitterAPI(<CONSUMER_KEY>,<CONSUMER_SECRET>,<ACCESS_TOKEN>,<ACCESS_KEY>)
iterator = api.request('statuses/user_timeline',{'screen_name'<SCREEN_NAME>})
for item in iterator:
if 'text' in item:
print(item['text'])
由网络服务器(Apache,NGINX等)定义。根据您的服务器配置,SCRIPT_NAME
的值将不同。您需要检查两台计算机上的虚拟机配置,并确保它们匹配。