51CTO技术论坛_中国领先的IT技术社区 - 文本版

sunworld8848 发表于 2010-5-15 19:57

代码出错!Warning: date() [function.date]: It is not safe to rely on the system's tim

*** 作者被禁止或删除 内容自动屏蔽 ***

ribut9225 发表于 2010-5-17 10:31

date_default_timezone_set(‘UTC’);

设下时区就好了

This entry was posted on 星期二, 九月 29th, 2009 at 12:19 上午 and is filed under php. You can follow any responses to this entry through the RSS 2.0 feed. You can leave a response, or trackback from your own site.

ribut9225 发表于 2010-5-17 10:31

在php4的版本没有 时间区域的设置 php5的版本开始引入 如果没有配置过的话 默认是零时区的时间 但是不会报错 可能在php6中这个更严格了 成了必选项 那么你就按照相关的提示在php.ini中设置一下 或者在文件头使用 set_default_time_zone('PRC')设置一下 PRC表示中国的意思 这样你说的第一个问题就解决啦 date_default_timezone_set('UTC')在php的配置文件中,有个布尔值的设置,就是magic_quotes_runtime,当它打开时,php的大部分函数自动的给从外部引入的(包括数据库或者文件)数据中的溢出字符加上反斜线。 当然如果重复给溢出字符加反斜线,那么字符串中就会有多个反斜线,所以这时就要用set_magic_quotes_runtime()与get_magic_quotes_runtime()设置和检测php.ini文件中magic_quotes_runtime状态。 为了使自己的程序不管服务器是什么设置都能正常执行。可以在程序开始用get_magic_quotes_runtime检测该设置的状态决定是否要手工处理,或者在开始(或不需要自动转义的时候)用set_magic_quotes_runtime(0)关掉该设置。 magic_quotes_gpc设置是否自动为GPC(get,post,cookie)传来的数据中的\'\"\\加上反斜线。可以用get_magic_quotes_gpc()检测系统设置。当magic_quotes_gpc=On的时候,函数get_magic_quotes_gpc()就会返回1当magic_quotes_gpc=Off的时候,函数get_magic_quotes_gpc()就会返回0 如果没有打开这项设置,可以使用addslashes()函数添加,它的功能就是给需要显示的特殊字符前加上了反斜线。这些字符是单引号(\')、双引号(\")、反斜线(\\)与 NUL(NULL 字符)。一般用法如下;if(!get_magic_quotes_gpc()){      addslashes($prot);}因此可以看出这个get_magic_quotes_gpc()函数的作用就是得到环境变量magic_quotes_gpc的值。既然在PHP6中删除了magic_quotes_gpc这个选项,那么在PHP6中这个函数……呵呵。

ribut9225 发表于 2010-5-17 10:32

Cause:
   这是因为PHP所取的时间是格林威治标准时间,所以和你当地的时间会有出入格林威治标准时间和北京时间大概差8个小时左右,我们可以按照下面的方法解决。

解决办法:

1、在页头使用date_default_timezone_set()设置我的默认时区为北京时间,即

<?php

date_default_timezone_set("PRC");

?>就可以了。

2、在php.ini中设置date.timezone的值为PRC,设置好以后的为:date.timezone=PRC,同时取消这一行代码的注释,即去掉前面的分号就可以了。

1976china 发表于 2011-4-24 19:24

很好

:handshake

冬瓜008 发表于 2011-4-26 21:38

回复 地板 ribut9225 的帖子

:(pdd_14): 讲解真的很详细啊!

页: [1]

Powered by Discuz! Archiver 6.1.0  © 2001-2007 Comsenz Inc.