我指的是关于使用PHP检查服务器环境的问题。检查服务器是在生产环境还是开发环境时,为什么使用REMOTE_ADDR
而不是SERVER_ADDR
?不好意思,这里我搞混了,我一直以为REMOTE_ADDR
是指客户端的IP地址。是使用SERVER_ADDR
更好,还是有其他原因为什么选择REMOTE_ADDR
?
-
SERVER_ADDR
返回当前脚本所在服务器的IP地址。 -
REMOTE_ADDR
返回用户当前页面的IP地址。
You should read the manual.
假设下面的脚本正在您的服务器上运行。
<?php
echo $_SERVER['SERVER_ADDR'];
echo $_SERVER['REMOTE_ADDR'];
第一行打印服务器的IP地址(除非您将脚本移动到其他服务器,否则不会更改)。第二行打印当前正在查看该页面的用户的IP地址。
这相当简单。您提到的问题的答案之一建议查看客户端的IP的原因是,如果客户端从127.0.0.1
访问以确定服务器是在dev还是prod中,那么没有人会从生产服务器上的127.0.0.1
访问。
127.0.0.1是本地主机,如果我作为客户端有IP 127.0.0.1 I。我是从网站运行的机器上访问的,因此我不是外部访问者。
这意味着当我进行开发时,我可以在本地机器上拥有一台服务器。