php server自定义变量赋值,php – $_SERVER变量未设置我的自定义标头

在不同操作系统上运行的Apache服务器中,遇到一个关于发送POST请求时自定义标题无法正确读取的问题。在Mac上能正常获取,但Ubuntu和Windows8上的Apache 2.4.x版本则不能。问题在于Apache 2.4.x开始,HTTP头部名称需要使用破折号(-)而非下划线(_)。解决方案是将标题改为使用破折号,例如`X-REST-USERNAME`,这在所有系统上都能正常工作。
摘要由CSDN通过智能技术生成

我面临一个非常奇怪的情况,我有一台Apache服务器设置在3台不同的机器上,一台是Ubuntu,另一台是Mac,另一台是Windows 8,我正在尝试发送一个非常基本的帖子请求定制标题如X_USER,到一个Php脚本(同一个脚本在3台机器中),现在为了得到我的标题,我使用$_SERVER var,如$_SERVER [‘HTTP_X_USER’],但是在Mac中我得到的值只是很好,但在其他2台机器中,该值不存在,我在$_SERVER var中做了var_dump,我可以确认标头不存在,我没有配置任何花哨,只是默认值.

任何人都可以告诉我,如果我需要配置一些东西,或者我以不正确的方式访问var,或者为什么我没有得到标题,也许是在Apache级别或php级别,感谢任何帮助!

解决方法:

好吧,我想我找到了原因,我发送标题为X_REST_USERNAME,但是在apache版本2.4_x上,标题需要使用破折号作为分隔符,而不是像这个X-REST-USERNAME那样下划线,我在mac上有apache 2.2其他人都有版本2.4,但是在两个版本中,破折号分离器工作正常,我不知道这一切,谢谢大家!

标签:apache,php

来源: https://codeday.me/bug/20190528/1171451.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值