雪山凌狐教程 - 搭建
type: channel
link: http://fox-9.com/tag/%E6%90%AD%E5%BB%BA/
items: 如何在自己的服务器搭建获取北京时间的服务
items: 如何在自己的服务器搭建获取本机 IP 的工具

如何在自己的服务器搭建获取北京时间的服务
type: item
date: 2018-10-28T21:41:00+08:00
description: 有的时候，需要校准本地时间的时候，或者自己写的软件需要一个北京时间的时候，我们通常都需要联网去找一些提供这些服务的网站。以前百度就有提供类似的服务，但经年累月，好些服务都物是人非了。之前在维护精易模块的时候，也是想弄一个提供即时北京时间的网站，结果找的那个网站却遇到了在一定的时间内重复获取不会更新的尴尬。因此那个时间获取不是即时的。所以我也考虑一下有没有办法能在自己的服务器弄一个提供北京时间的服务。最后，咱们有了如下的服务工具：http://api.xueshanlinghu.com/checktime/直接打开即可获取即时的北京时间。它的原理就是 php 脚本即时获取服务器的时间，因此前提就是服务器的时间准确，首先定期同步服务器电脑的时间这是首要的。然后就是 php 脚本的时区。咱们用的是 php7 版本，那么在 php7 的 php.ini 文件中，需要配置默认的时区。不配置的情况下，默认的时区是 GMT 时间的时区，如果你需要给你计算的是东八区的北京时间，有两种方法，一种是将 php.ini 文件中的 date.timezone 这一行前面的分号去掉，然后给它赋值 PRC，指的就是中国时区，这样 php 脚本中的 date 函数和 time 函数获取到的就是北京时间了。另一种方法就是不改时区，毕竟原始获取的是零时区，那在获取时间戳的时候，加上对应的时区秒数就可以了。比如默认为零时区，如果需要东八区，那么就需要在现有获取的时间戳上加上八小时对应的秒数 8 * 60 * 60。这样也可以获取到正确的时间。其他的就很简单了，在该站点下新建了一个目录，名叫“checktime”，然后目录下放一个 index.php 文件即可，访问目录，即可自动访问主页地址。那么 index.php 文件的内容写一些什么呢？如下：（使用 utf8 编码）<?php $time = time(); echo $time.' '; $datetime = date("Y-m-d H:i:s", $time); echo $datetime.' ';打开页面后，第一行返回的是现行北京时间时间戳（10 位，到秒）。第二行返回的是转换为年月日时分秒后的北京时间。获取到网页源码后，通过 分割文本即可。

如何在自己的服务器搭建获取本机 IP 的工具
type: item
date: 2018-10-28T21:14:00+08:00
description: 之前在花生壳的网站找到一个获取本机 IP 的网站，挺纯净的，除了 IP 信息不会有什么广告啊什么的鬼东西，蛮适合本地软件在需要 check 本机 IP 或者换了 IP 之后获取本机 IP 的。网址为：http://ddns.oray.com/checkip直接访问就可以了。别人网站提供的服务，不知道什么时候就不再提供了。如果你也喜欢这个服务的话，如果你也有自己的服务器的话，完全可以自己来弄一个，使用 php 语言就可以，很简单的。大家可以尝试访问一下我搭建在我服务器的 checkip 服务：http://api.xueshanlinghu.com/checkip/那么该页面也是使用 php 语言搭建的，版本无所谓，我这里已经升级到了 php7。其实就是在该站点下新建了一个目录，名叫 “checkip”，然后目录下放一个 index.php 文件即可，访问目录，即可自动访问主页地址。那么 index.php 文件的内容写一些什么呢？如下：（使用 utf8 编码）<?php print "Your current IP address: "; if(!empty($_SERVER["HTTP_CLIENT_IP"])){ $cip = $_SERVER["HTTP_CLIENT_IP"]; } elseif(!empty($_SERVER["HTTP_X_FORWARDED_FOR"])){ $cip = $_SERVER["HTTP_X_FORWARDED_FOR"]; } elseif(!empty($_SERVER["REMOTE_ADDR"])){ $cip = $_SERVER["REMOTE_ADDR"]; } else{ $cip = "无法获取！"; } print $cip;是不是很简单呢？大家如果有自己的服务器的话也可以搭建试试哦～学会了吗？