为什么PHP date()函数会给出不一致的时间?突然出现了2个小时
我有一个页面,我有一个日期/时间插入
MySQL数据库.
服务器的时区提前两个小时. 在我的php.ini中,我有date.timezone = America / Los_Angeles 我注意到有时候时间已经过了两个小时. MySQL字段是类型datetime,而不是null(我只是注意到我没有设置默认值) 我正在使用Codeigniter,如果这很重要的话. 这就是我有时间插入数据库的方法: $newData [‘time’] = $time = date(“Y-m-d G:i:s”); 之后我插入了一行代码将时间写入错误日志. log_message(‘错误’,“日期时间是$time”); 为什么时间会这样变化?这部分日志是当地时间下午2:00到2:30. 这一切都来自我网站上的一个页面,耗时29分钟. 110 ERROR - 2011-12-20 14:00:57 --> Date time is 2011-12-20 14:00:57 111 ERROR - 2011-12-20 14:01:38 --> Date time is 2011-12-20 14:01:38 112 ERROR - 2011-12-20 14:01:57 --> Date time is 2011-12-20 14:01:57 113 ERROR - 2011-12-20 16:02:19 --> Date time is 2011-12-20 16:02:19 114 ERROR - 2011-12-20 16:02:28 --> Date time is 2011-12-20 16:02:28 115 ERROR - 2011-12-20 14:03:26 --> Date time is 2011-12-20 14:03:26 116 ERROR - 2011-12-20 14:03:32 --> Date time is 2011-12-20 14:03:32 117 ERROR - 2011-12-20 14:03:46 --> Date time is 2011-12-20 14:03:46 118 ERROR - 2011-12-20 14:04:43 --> Date time is 2011-12-20 14:04:43 119 ERROR - 2011-12-20 14:04:53 --> Date time is 2011-12-20 14:04:53 120 ERROR - 2011-12-20 14:04:58 --> Date time is 2011-12-20 14:04:58 121 ERROR - 2011-12-20 14:05:03 --> Date time is 2011-12-20 14:05:03 122 ERROR - 2011-12-20 16:07:05 --> Date time is 2011-12-20 16:07:05 123 ERROR - 2011-12-20 16:07:25 --> Date time is 2011-12-20 16:07:25 124 ERROR - 2011-12-20 16:07:54 --> Date time is 2011-12-20 16:07:54 125 ERROR - 2011-12-20 16:08:05 --> Date time is 2011-12-20 16:08:05 126 ERROR - 2011-12-20 16:08:15 --> Date time is 2011-12-20 16:08:15 127 ERROR - 2011-12-20 16:09:04 --> Date time is 2011-12-20 16:09:04 128 ERROR - 2011-12-20 16:09:14 --> Date time is 2011-12-20 16:09:14 129 ERROR - 2011-12-20 16:09:44 --> Date time is 2011-12-20 16:09:44 130 ERROR - 2011-12-20 16:10:08 --> Date time is 2011-12-20 16:10:08 131 ERROR - 2011-12-20 16:10:27 --> Date time is 2011-12-20 16:10:27 132 ERROR - 2011-12-20 14:12:16 --> Date time is 2011-12-20 14:12:16 133 ERROR - 2011-12-20 14:15:30 --> Date time is 2011-12-20 14:15:30 134 ERROR - 2011-12-20 14:16:20 --> Date time is 2011-12-20 14:16:20 135 ERROR - 2011-12-20 14:17:55 --> Date time is 2011-12-20 14:17:55 136 ERROR - 2011-12-20 14:18:51 --> Date time is 2011-12-20 14:18:51 137 ERROR - 2011-12-20 14:19:16 --> Date time is 2011-12-20 14:19:16 138 ERROR - 2011-12-20 14:20:08 --> Date time is 2011-12-20 14:20:08 139 ERROR - 2011-12-20 14:27:29 --> Date time is 2011-12-20 14:27:29 140 ERROR - 2011-12-20 14:29:31 --> Date time is 2011-12-20 14:29:31 141 ERROR - 2011-12-20 14:29:55 --> Date time is 2011-12-20 14:29:55 任何人都可以为我阐明这一点吗? 谢谢, 标记 解决方法
我的猜测将是你的系统时间问题,就像我说的那样,或者正如John B所提到的,PHP时区可能会在CI配置中的某个地方被覆盖.
假设您正在运行linux / gnu框,您应该将错误日志记录更改为以下内容: log_message(‘error’,“PHP time is $time,System time is”.exec(‘date’)); 至少应该告诉您问题是系统时间还是PHP的时间 (注意:你正在寻找像你的PHP时间那样跳跃时间的系统时间,系统时间与PHP时间相差一两秒是正常的) (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |