error_log中的时区问题?
如果我将error_log指令显式设置为php中的文件,然后将error_log语句与时区一起使用,那为什么它不尊重我的时区?见下文:
[soham@soham.dev ~]$ cat errlog.php
<?php
date_default_timezone_set('America/Los_Angeles');
ini_set('error_log', '/tmp/blah');
ini_set('display_errors', 'on');
error_log('whatever');
?>
[soham@soham.dev ~]$ php errlog.php
[soham@soham.dev ~]$ cat /tmp/blah
[12-Aug-2010 02:16:29] whatever
[soham@soham.dev ~]$ date
Wed Aug 11 19:16:34 PDT 2010
[soham@soham.dev ~]$
我能找到的最接近的是http://bugs.php.net/45191,但这在5.2.10中已经修复。但我正在运行5.2.11:
[soham@soham.dev ~]$ php -v
PHP 5.2.11 (cli) (built: Apr 17 2010 16:25:19)
Copyright (c) 1997-2009 The PHP Group
Zend Engine v2.2.0, Copyright (c) 1998-2009 Zend Technologies
[soham@soham.dev ~]$
相关的INI设置(在代码中被覆盖):
[soham@soham.dev ~]$ php -i | grep date.timezone
date.timezone => America/Los_Angeles => America/Los_Angeles
[soham@soham.dev ~]$ php -i | grep error_log
error_log => no value => no value
我错过了什么?任何线索都表示赞赏。感谢。
答案 0 :(得分:1)
升级到php5.3.3修复此问题。没有尝试过中间版本(即在5.2.11和5.3.3之间)。