>  기사  >  백엔드 개발  >  什么方法可以判定程序是在本地运行还是在服务器上运行

什么方法可以判定程序是在本地运行还是在服务器上运行

WBOY
WBOY원래의
2016-06-23 13:44:201755검색

朋友们,早上好,请问什么方法可以判定程序是在本地运行还是在服务器上运行?
比如说
本地localhost/website或127.0.0.1/website
服务器www。website。com

我想的目的就是有一个变量$a
当在服务器上是$a=3,当在本地时$a=2,就只是为了这个。


回复讨论(解决方案)

判断 $_SERVER['HTTP_HOST'] 的值

判断 $_SERVER['HTTP_HOST'] 的值


我也想到用这个,判断里面是否包含"localhost"或"127.0.0.1'之类的,但是总感觉好像不是那么爽一样的。

不是包含而是等于
为什么是 "localhost"或"127.0.0.1'之类的
判断是否等于 www.website.com 不就行了?

不是包含而是等于
为什么是 "localhost"或"127.0.0.1'之类的
判断是否等于 www.website.com 不就行了?


www.website.com后面还有可能是参数呢www.website.com/code=123&.....

你自己打印出来看看不就清楚了?
echo $_SERVER['HTTP_HOST'];

你自己打印出来看看不就清楚了?
echo $_SERVER['HTTP_HOST'];


你说的是“判断是否等于 www.website.com 不就行了?”,但是有可能是带www和不带www的,就是在纠结这个问题。

我是用strpos匹配$_SERVER['HTTP_HOST']和目标域名或网址,自动判断运行环境

可以判断mac地址。不同的电脑,mac不同。

那有什么可纠结的?入股你的服务器是支持二级域名的,那就开列一下
in_array($_SERVER['HTTP_HOST'], array(域名列表))
也可以用字符串比较

总之你不要闭门造车就可以了



你自己打印出来看看不就清楚了?
echo $_SERVER['HTTP_HOST'];


你说的是“判断是否等于 www.website.com 不就行了?”,但是有可能是带www和不带www的,就是在纠结这个问题。

谢谢,你的回答解决了问题,不要闭门造车,非常好。

那有什么可纠结的?入股你的服务器是支持二级域名的,那就开列一下
in_array($_SERVER['HTTP_HOST'], array(域名列表))
也可以用字符串比较

总之你不要闭门造车就可以了




你自己打印出来看看不就清楚了?
echo $_SERVER['HTTP_HOST'];


你说的是“判断是否等于 www.website.com 不就行了?”,但是有可能是带www和不带www的,就是在纠结这个问题。
성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.