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']显示的是你浏览器地址栏里面的域名。