<?xml version="1.0" encoding="UTF-8" ?>
<rss version="2.0">
<channel>
<title><![CDATA[向东博客 专注WEB应用 构架之美 --- 构架之美，在于尽态极妍 | 应用之美，在于药到病除]]></title> 
<link>http://jackxiang.com/index.php</link> 
<description><![CDATA[赢在IT，Playin' with IT,Focus on Killer Application,Marketing Meets Technology.]]></description> 
<language>zh-cn</language> 
<copyright><![CDATA[向东博客 专注WEB应用 构架之美 --- 构架之美，在于尽态极妍 | 应用之美，在于药到病除]]></copyright>
<item>
<link>http://jackxiang.com/post//</link>
<title><![CDATA[php时区设定，确保date()返回正确的本地时间,php程序报date()警告的处理(date_default_timezone_set)。PHP5中的时间相差8小时的解决办法。PHP错误日志的时间与系统时间不一致，怎么解决？Linux下查看/修改系统时区、时间。]]></title> 
<author>jack &lt;xdy108@126.com&gt;</author>
<category><![CDATA[Php/Js/Shell/Go]]></category>
<pubDate>Fri, 23 Aug 2013 09:27:22 +0000</pubDate> 
<guid>http://jackxiang.com/post//</guid> 
<description>
<![CDATA[ 
	背景：做了个聊天程序，发现后面的时间显示有问题。<br/>写到文件第一行内：<br/><textarea name="code" class="php" rows="15" cols="100">
date_default_timezone_set(&#039;PRC&#039;);//date.timezone = &quot;Asia/Shanghai&quot;有时php.ini里没有写
</textarea><br/>问题：echo date(&#039;Y-m-d H:i:s&#039;); 输出结果与本地时间相差8小时。一看就知道我们神州大地是在东八区，时区错了。<br/>三种解决方法:<br/>1.加入date_default_timezone_set(&#039;PRC&#039;);//手册上说这个是PHP5.1后才有的<br/>2. 修改php.ini<br/>&nbsp;&nbsp; [Date]<br/>; Defines the default timezone used by the date functions<br/>date.timezone = PRC 注:PRC为中化人民共和国<br/>相关参考如下：<br/> #############################################################################<br/>从 PHP 5.1.0 ，当对使用date()等函数时，如果timezone设置不正确，在每一次调用时间函数时,都会产生E_NOTICE 或者 E_WARNING 信息。而又在php5.1.0中，date.timezone这个选项，默认情况下是关闭的，无论用什么php命令都是格林威治标准时间，但是PHP5.3中好像如果没有设置也会强行抛出了这个错误的,解决此问题，只要本地化一下，就行了。<br/>以下是三种方法(任选一种都行)：<br/>一、在页头使用date_default_timezone_set()设置 date_default_timezone_set(&#039;PRC&#039;); //东八时区 echo date(&#039;Y-m-d H:i:s&#039;);<br/><br/>二、在页头使用 ini_set(&#039;date.timezone&#039;,&#039;Asia/Shanghai&#039;);<br/><br/>三、修改php.ini。打开php5.ini查找date.timezone 去掉前面的分号修改成为：date.timezone =PRC<br/>重启http服务（如apache2或iis等）即可。&nbsp;&nbsp;<br/>XXX可以任意正确的值。对于我们国内来说：可以为以下值：Asia/Chongqing ，Asia/Shanghai ，Asia/Urumqi （依次为重庆，上海，乌鲁木齐）港台地区可用：Asia/Macao ，Asia/Hong_Kong ，Asia/Taipei （依次为澳门，香港，台北），还有新加坡：Asia/Singapore，当然PRC也行。<br/>来自：http://wz102.blog.51cto.com/3588520/1243649<br/>#############################################################################<br/>bool date_default_timezone_set ( string timezone_identifier )<br/>说明<br/>date_default_timezone_set() 设定用于所有日期时间函数的默认时区。<br/>注: 自 PHP 5.1.0 起（此版本日期时间函数被重写了），如果时区不合法则每个对日期时间函数的调用都会产生一条 E_NOTICE 级别的错误信息。<br/>参数<br/>timezone_identifier<br/>时区标识符，例如 UTC 或 Europe/Lisbon<br/>返回值<br/>本函数永远返回 TRUE（即使 timezone_identifier 参数不合法）。<br/><br/>来自：http://www.css88.com/archives/4552<br/><br/>在写php程序中有时会出现这样的警告：<br/>[07-Jan-2014 07:21:44 UTC] PHP Warning:&nbsp;&nbsp;Unknown: It is not safe to rely on the system&#039;s timezone settings. You are *required* to use the date.timezone setting or the date_default_timezone_set() function. In case you used any of those methods and you are still getting this warning, you most likely misspelled the timezone identifier. We selected &#039;Asia/Chongqing&#039; for &#039;CST/8.0/no DST&#039; instead in Unknown on line 0<br/><br/>PHP Warning: date(): It is not safe to rely on the system&#039;s timezone settings. You are *required* to use the date.timezone setting or the date_default_timezone_set() function. In case you used any of those methods and you are still getting this warning, you most likely misspelled the timezone identifier. We selected &#039;UTC&#039; for &#039;8.0/no DST&#039; instead in D:&#92;PHPWEB ews&#92;file.php on line 17 。<br/><br/><br/>这是因为PHP所取的时间是格林威治标准时间，所以和你当地的时间会有出入格林威治标准时间和北京时间大概差8个小时左右，我们可以按照下面的方法解决： <br/><br/>1、在页头使用date_default_timezone_set()设置我的默认时区为北京时间，即 &lt;?php date_default_timezone_set(&quot;PRC&quot;); ?&gt;就可以了。 <br/><br/>2、在php.ini中设置date.timezone的值为PRC，设置好以后的为：date.timezone=PRC或者date.timezone = Asia/Shanghai，同时取消这一行代码的注释，即去掉前面的分号就可以了。 <br/><br/>然后重启apache即可！<br/>参考：http://www.jb51.net/article/42315.htm<br/>PHP5中的时间相差8小时的解决办法：<br/>http://www.jb51.net/article/13988.htm<br/><br/>————背景：遇到线上仿真机的PHP错误日志的时间不对————<br/>PHP错误日志的时间与系统时间不一致，怎么解决？来自：http://zhidao.baidu.com/link?url=Dx0OfG9Kd5xkb_plZeopiskR_jUnCqB2WLdBXshvpv5hJTAi-UHUoSC4qRHK7mFCP84118D3mRhWlcBdwNX2dbl7MnocNPPDQeycWxnUkgW<br/>我已经把php.ini的date.timezone设置为PRC了，调用date(&quot;H:i:s&quot;)函数也能输出与系统时间相一致的时间，但就是不知道为什么错误日志里的时间总是跟系统时间相差8个小时<br/>提问者采纳<br/><br/>你修正只是php这样级别的时区，所以网页显示出来的时间跟你浏览器所在电脑时间是一致的（修正好了）。<br/>但错误日志的运行一般是apache或者php-cgi，它们是直接调用操作系统的时间和时区的，所以写出来的日志时间有时差。依照你的描述，估计你用的是linux，试一下修正一下linux的时区一下就可以了。命令如下：<br/>rm -f /etc/localtime<br/>ln -s /usr/share/zoneinfo/Asia/Shanghai /etc/localtime<br/><br/>实践如下：<br/>[root@localhost etc]# cp localtime localtime.bak.2013.12.25<br/>[root@localhost etc]# ls /usr/share/zoneinfo/Asia/Shanghai<br/>/usr/share/zoneinfo/Asia/Shanghai<br/>[root@localhost etc]# rm -Rf localtime<br/>[root@localhost etc]# ln -s /usr/share/zoneinfo/Asia/Shanghai /etc/localtime<br/>然后最好使用下面的命令将更改写入bios。<br/>hwclock<br/>[root@localhost tmp]# hwclock<br/>Wed 25 Dec 2013 11:07:18 AM CST&nbsp;&nbsp;-0.848372 seconds&nbsp;&nbsp;【后面发现还是不行，估计机器有问题。】<br/>必须要生效才行，上面生效来自：<br/>http://soft.chinabyte.com/133/11146633.shtml<br/><br/><br/><br/>摘录自：http://ggmmchou.blog.163.com/blog/static/5933314920091137114514/<br/>方法(1)&nbsp;&nbsp;<br/> # tzselect&nbsp;&nbsp;<br/> 方法(2 仅限于RedHat Linux 和 CentOS)&nbsp;&nbsp;<br/> # timeconfig&nbsp;&nbsp; <br/>方法(1)<br/>&nbsp;&nbsp;# tzselect<br/>&nbsp;&nbsp;方法(2 仅限于RedHat Linux 和 CentOS)<br/>&nbsp;&nbsp;# timeconfig3. 复制相应的时区文件，替换系统默认时区<br/>&nbsp;&nbsp;CentOS实践：<br/>[root@localhost tmp]# tzselect&nbsp;&nbsp;<br/>Please identify a location so that time zone rules can be set correctly.<br/>Please select a continent or ocean.<br/> 1) Africa<br/> 2) Americas<br/> 3) Antarctica<br/> 4) Arctic Ocean<br/> 5) Asia<br/> 6) Atlantic Ocean<br/> 7) Australia<br/> 8) Europe<br/> 9) Indian Ocean<br/>10) Pacific Ocean<br/>11) none - I want to specify the time zone using the Posix TZ format.<br/>#? 5<br/>Please select a country.<br/> 1) Afghanistan&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 18) Israel&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;35) Palestine<br/> 2) Armenia&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 19) Japan&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 36) Philippines<br/> 3) Azerbaijan&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;20) Jordan&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;37) Qatar<br/> 4) Bahrain&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 21) Kazakhstan&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;38) Russia<br/> 5) Bangladesh&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;22) Korea (North)&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 39) Saudi Arabia<br/> 6) Bhutan&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;23) Korea (South)&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 40) Singapore<br/> 7) Brunei&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;24) Kuwait&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;41) Sri Lanka<br/> 8) Cambodia&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;25) Kyrgyzstan&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;42) Syria<br/> 9) China&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 26) Laos&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;43) Taiwan<br/>10) Cyprus&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;27) Lebanon&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 44) Tajikistan<br/>11) East Timor&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;28) Macau&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 45) Thailand<br/>12) Georgia&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 29) Malaysia&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;46) Turkmenistan<br/>13) Hong Kong&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 30) Mongolia&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;47) United Arab Emirates<br/>14) India&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 31) Myanmar (Burma)&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 48) Uzbekistan<br/>15) Indonesia&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 32) Nepal&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 49) Vietnam<br/>16) Iran&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;33) Oman&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;50) Yemen<br/>17) Iraq&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;34) Pakistan<br/>#? 9<br/>Please select one of the following time zone regions.<br/>1) east China - Beijing, Guangdong, Shanghai, etc.<br/>2) Heilongjiang (except Mohe), Jilin<br/>3) central China - Sichuan, Yunnan, Guangxi, Shaanxi, Guizhou, etc.<br/>4) most of Tibet &amp; Xinjiang<br/>5) west Tibet &amp; Xinjiang<br/>#? 1<br/>The following information has been given:<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;China<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;east China - Beijing, Guangdong, Shanghai, etc.<br/>Therefore TZ=&#039;Asia/Shanghai&#039; will be used.<br/>Local time is now:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Wed Dec 25 11:49:52 CST 2013.<br/>Universal Time is now:&nbsp;&nbsp;Wed Dec 25 03:49:52 UTC 2013.<br/>Is the above information OK?<br/>1) Yes<br/>2) No<br/>#? 1&nbsp;&nbsp;&nbsp;&nbsp;<br/>You can make this change permanent for yourself by appending the line<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;TZ=&#039;Asia/Shanghai&#039;; export TZ<br/>to the file &#039;.profile&#039; in your home directory; then log out and log in again.<br/>Here is that TZ value again, this time on standard output so that you<br/>can use the /usr/bin/tzselect command in shell scripts:<br/>Asia/Shanghai<br/><br/># cp /usr/share/zoneinfo/$主时区/$次时区 /etc/localtime&nbsp;&nbsp;<br/>对于中国服务器则执行：&nbsp;&nbsp;<br/># cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime&nbsp;&nbsp;<br/># cp /usr/share/zoneinfo/$主时区/$次时区 /etc/localtime<br/>&nbsp;&nbsp;对于中国服务器则执行：<br/>&nbsp;&nbsp;# cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime 4. 将当前时间写入BIOS永久生效（避免重启后失效）&nbsp;&nbsp;<br/># hwclock&nbsp;&nbsp;<br/># hwclock<br/><br/>[root@localhost tmp]# date -R<br/>Wed, 25 Dec 2013 11:56:13 +0800<br/>来自：http://www.cnblogs.com/ningvsban/archive/2012/12/18/2823036.html<br/><br/><br/><br/><br/>1)查看Linux硬件时间<br/>[root@localhost tmp]# hwclock --show <br/>Wed 25 Dec 2013 01:02:15 PM CST&nbsp;&nbsp;-0.494817 seconds<br/>[root@localhost tmp]# date <br/>Wed Dec 25 13:40:48 CST 2013<br/>2)修改Linux硬件时间<br/>hwclock --set --date<br/>3)让系统时间与硬件时钟同步，用：<br/>hwclock --hctosys<br/>4)相反地，让硬件时钟与系统时间同步：<br/>hwclock --systohc<br/>对上面1）进行同步操作(让硬件时钟与系统时间同步)的实践OK：<br/>[root@localhost tmp]# hwclock --systohc<br/>[root@localhost tmp]# hwclock --show<br/>Wed 25 Dec 2013 01:44:36 PM CST&nbsp;&nbsp;-0.973671 seconds<br/>[root@localhost tmp]# date<br/>Wed Dec 25 13:44:40 CST 2013<br/>没同步上，直接修改硬件时间：<br/>[root@localhost tmp]# hwclock --set --date &quot;2013-12-25 13:48:51&quot;&nbsp;&nbsp; <br/>[root@localhost tmp]# hwclock --show<br/>Wed 25 Dec 2013 01:48:56 PM CST&nbsp;&nbsp;-0.365535 seconds<br/>[root@localhost tmp]# date<br/>Wed Dec 25 13:48:39 CST 2013<br/>来自：http://blog.163.com/dk_linux/blog/static/20322616620122401426999/
]]>
</description>
</item><item>
<link>http://jackxiang.com/post//#blogcomment</link>
<title><![CDATA[[评论] php时区设定，确保date()返回正确的本地时间,php程序报date()警告的处理(date_default_timezone_set)。PHP5中的时间相差8小时的解决办法。PHP错误日志的时间与系统时间不一致，怎么解决？Linux下查看/修改系统时区、时间。]]></title> 
<author> &lt;user@domain.com&gt;</author>
<category><![CDATA[评论]]></category>
<pubDate>Thu, 01 Jan 1970 00:00:00 +0000</pubDate> 
<guid>http://jackxiang.com/post//#blogcomment</guid> 
<description>
<![CDATA[ 
	
]]>
</description>
</item>
</channel>
</rss>