欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  后端开发

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

程序员文章站 2022-05-22 18:23:23
...
朋友们,早上好,请问什么方法可以判定程序是在本地运行还是在服务器上运行?
比如说
本地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的,就是在纠结这个问题。