Heim  >  Artikel  >  Backend-Entwicklung  >  什么方法可以判定程序是在本地运行还是在服务器上运行

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

WBOY
WBOYOriginal
2016-06-23 13:44:201724Durchsuche

朋友们,早上好,请问什么方法可以判定程序是在本地运行还是在服务器上运行?
比如说
本地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的,就是在纠结这个问题。
Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn