猿问

在PHP中HTTP_HOST和SERVER_NAME有什么区别?

在PHP中HTTP_HOST和SERVER_NAME有什么区别?

你什么时候会考虑用一个而另一个,为什么?



慕田峪9158850
浏览 1115回答 3
3回答

哆啦的时光机

正如我在这个答案,如果服务器运行在80以外的端口上(在开发/Intranet计算机上可能很常见),那么HTTP_HOST包含端口,而SERVER_NAME不会的。$_SERVER['HTTP_HOST'] == 'localhost:8080'$_SERVER['SERVER_NAME'] == 'localhost'(至少我在基于Apache端口的虚拟主机中注意到了这一点)请注意HTTP_HOST是吗?不含:443在HTTPS上运行时(除非您在非标准端口上运行,我还没有测试过)。正如其他人所指出的,在使用IPv 6时,两者也有不同:$_SERVER['HTTP_HOST'] == '[::1]'$_SERVER['SERVER_NAME'] == '::1'
随时随地看视频慕课网APP
我要回答