Maison  >  Article  >  développement back-end  >  什么方法可以判定程序是在本地运行还是在服务器上运行

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

WBOY
WBOYoriginal
2016-06-23 13:44:201755parcourir

朋友们,早上好,请问什么方法可以判定程序是在本地运行还是在服务器上运行?
比如说
本地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的,就是在纠结这个问题。
Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn