前几个月学了个tcpdump抓包命令,遇到任何问题总想试试,真是程序员的终级武器呀,它像显微镜一下,把任何的丑陋的bug都显示在你的面前。

为什么有题目中所说的疑问呢?因为我发现在不同的环境下面,我获取到的$_SERVER["SERVER_NAME"]是不一样的。

$_SERVER顾名思义,它是服务端的配置,所以我想应该跟nginx的配置有关吧。事实也是如此。

验证方法一:

很简单,透过现象来看,通过改变nginx的配置,然后在PHP中打印变量。

server{
listen *:
root /var/nginx
server_name localhost;
}

验证方法二:

用tcpdump抓一个nginx传到php-fpm的请求包,用wireshark看看

tcpdump tcp dst port  -i lo -s  -w show &

可以看到的确是nginx把一些服务端的变量传递给了php-fpm。

具体细节可以参考fastcgi协议

大家可以在nginx的配置文件同级目录下面,发现一个名字叫fastcgi_params的配置文件,nginx应该就是把这里面的变量传递给了PHP。

最新文章

  1. golang 裸写一个pool池控制协程的大小
  2. [ZZ] D3D中的模板缓存(3)
  3. Python邮件脚本
  4. [Java] java中的异常处理
  5. java方法签名
  6. JavaScript-学习一_var
  7. 创见WiFi SD卡破解之路
  8. 在CentOS/RHEL/Scientific Linux 6下安装 LAMP
  9. IOS 警告 收集
  10. JavaScript一个类继承中实现
  11. 解决ie 低版本的 background-size 兼容问题
  12. iOS 之 UICollectionView
  13. Go 实现 自动检索 API 错误码代码行 并 打印成文档,例 markDown 形式等
  14. 009-Python-面向对象
  15. 浅谈log4j-3-不同输出样式
  16. js 数组对象的操作方法
  17. “数学口袋精灵”App的第二个Sprint计划----开发日记
  18. 关于Unity中DOTween插件的使用(专题一)
  19. CloudStack无法添加模板和iso
  20. iOS开发进阶 - 项目的本地化处理(多语言开发)

热门文章

  1. Apple 如何知道你使用了私有API
  2. CATransition的动画效果类型及实现方法--老代码备用参考
  3. Bootstrap 与 ASP.NET MVC 4 不使用 NuGet Package 笔记
  4. 基于strpos()函数的判断用户浏览器方法
  5. Linux数组array基础
  6. 在Eclipse中添加添加一些有助于开发的插件
  7. php获得当前日期时间 date函数
  8. Altium查看所有快捷键,图文教程
  9. Ember.js demo1
  10. Spring 3.x企业应用开发实战(14)----事务