我试图让PHP应用程序运行依赖于通过HTTP标头提供附加信息的特定浏览器。具体来说,它是EVE Online游戏浏览器,但我的问题在于XAMPP(特别是XAMPP USB Lite 1.8.0)处理这些标题的方式。
我观察到的是,当我在Windows上使用XAMPP进行尝试时,我需要的HTTP_EVE_TRUSTED
特定标头在$_SERVER
中不可用,但如果我在Debian上使用Apache安装,它就在那里
我使用了一个简单的脚本来输出标题:
<?php
print_r($_SERVER);
?>
,当脚本托管在XAMPP上时,只丢失了这一个标头。我怀疑XAMPP有一些奇怪的默认配置剥离某些标题,可能是一个安全功能,但我找不到任何相关内容。
根据Nacerridine的建议,我使用Tamper Data for Firefox重现了这个问题,我发现只删除包含下划线的标题。
什么可能导致此标头在XAMPP上不可用而在其他服务器上不可用?我该如何解决这个问题?
答案 0 :(得分:5)
我没有找到从$_SERVER
数组中删除标头的确切原因,但您仍然可以使用apache_request_headers
$requestHeaders = apache_request_headers();
if ($requestHeaders){
echo $requestHeaders['EVE_TRUSTED'];
}
答案 1 :(得分:0)
我遇到同样的问题,我使用cUrl传递自定义标头变量但是当我打印$ _SERVER变量时,我看不到自定义标头变量..
但是当我打印
apache_request_headers()时,自定义变量可用。
如果您已重新配置服务器以完成此操作,请与我们联系。我正在使用xampp 1.8.0