gpt4 book ai didi

php - header 由 Apache 接收,但不存在于 php 中

转载 作者:可可西里 更新时间:2023-11-01 16:30:28 27 4
gpt4 key购买 nike

我遇到了一个非常奇怪的问题。

我正在使用 postman 为我用 PHP 编写的一些休息服务发送 HTTP 请求。我一直在我的开发服务器上测试它,没有任何问题。然后它就可以进入生产服务器了。部署后,我注意到我无法进行身份验证。我正在使用基于 SSL 的基本 HTTP 身份验证。

深入研究后,我注意到 header 没有到达我的代码。 var_dump(apache_request_headers()),没有显示“授权” header ,但随后我启用了 mod_forensic,并记录了相同的请求。 header 在 forensic_log 中设置,但未在 php header 中设置。

我在 Cpanel/WHM、Apache/2.4.9、PHP 5.5.10 上。还在同一台服务器上使用 Apache 2.2.x 和 php 5.4.x 进行了测试。

有一份请求的副本:

+Uyw0q60sJjwAAFodDcIAAAAC|GET /pt_BR/webservice/product HTTP/1.1|Host:www.website.com.br|Connection:keep-alive|User-Agent:Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/33.0.1750.152 Safari/537.36|Cache-Control:no-cache|Content-Type:application/json|Authorization:Basic Zmhjc0BsaXZlLmNvbTo2NzY2MTI1NTEzNjcxOTQxMjEzNjgxMDcxMDg2MDcwNA==|Postman-Token:e87e4305-08b8-6868-69d6-9132ff741f6f|Accept:*/*|Accept-Encoding:gzip,deflate,sdch|Accept-Language:en-US,en;q=0.8,pt-BR;q=0.6,pt;q=0.4

和 var_dump(apache_request_headers()):

array(10) {
["Content-Type"]=>
string(16) "application/json"
["Accept"]=>
string(3) "*/*"
["Accept-Encoding"]=>
string(17) "gzip,deflate,sdch"
["Accept-Language"]=>
string(35) "en-US,en;q=0.8,pt-BR;q=0.6,pt;q=0.4"
["Cache-Control"]=>
string(8) "no-cache"
["Connection"]=>
string(10) "keep-alive"
["Cookie"]=>
string(42) "PHPSESSID=a00f255f7e96b25f34f84670fbb8362e"
["Host"]=>
string(21) "www.website.com.br"
["Postman-Token"]=>
string(36) "b1d04f7f-89b3-e7fd-3841-9850f5ff1916"
["User-Agent"]=>
string(105) "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/33.0.1750.152 Safari/537.36"
}

最佳答案

也许您的生产服务器正在将 PHP 作为 FastCGI 运行?

引用 German hoster 的常见问题页面在这种情况下,相关 http 变量的命名存在不一致。

这个 mod_rewrite 规则应该可以解决这个问题:

RewriteRule .* - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization}]

如果您将 PHP 作为 apache2 模块运行,这没有帮助。

关于php - header 由 Apache 接收,但不存在于 php 中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22562034/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com