2019年2月

date("M-d Y , h:i:s")显示的是服务器本地的时间,比如纽约的时间。
time()显示的是时间戳(UTC1970-1-1 0点开始的秒数)。
gmdate("M-d Y , h:i:s")显示的永远是UTC时间,不管服务器本地,也不管php.ini怎样设定,也不管php语句中设置的时区。
如果要显示北京时间可以gmdate("M-d Y , h:i:s",time()+3600*8)

echo 'SERVER_NAME:'.$_SERVER['SERVER_NAME']; //获取当前域名(不含端口号)

echo 'HTTP_HOST:'.$_SERVER['HTTP_HOST'];//获取当前域名(含端口号)

echo 'REQUEST_URI:'.$_SERVER['REQUEST_URI'];//获取当前域名的后缀
看起来第一个和第二个差不多,就是差一个端口号的问题,但是其实不一样。比如nginx的默认主机,里面写“server_name _”;
那么你用ip或者未绑定域名访问它,那么$_SERVER['SERVER_NAME']显示的是是“_”,而$_SERVER['HTTP_HOST']显示的是该ip和该域名。也就是说$_SERVER['SERVER_NAME']显示的是你配置文件里的server name,而$_SERVER['HTTP_HOST']显示的是你浏览器地址栏里面的域名。