2010-08-12 126 views
2

error_log中的時區問題?PHP的error_log不尊重時區設置?

如果我明確地將error_log指令設置爲php中的文件,然後將error_log語句與時區一起使用,那麼它爲什麼不尊重我的時區?請看下圖:

[[email protected] ~]$ 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'); 
?> 

[[email protected] ~]$ php errlog.php 

[[email protected] ~]$ cat /tmp/blah 
[12-Aug-2010 02:16:29] whatever 

[[email protected] ~]$ date 
Wed Aug 11 19:16:34 PDT 2010 

[[email protected] ~]$ 

我能找到最接近的是http://bugs.php.net/45191,而是固定在5.2.10。但我運行5.2.11:

[[email protected] ~]$ 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 
[[email protected] ~]$ 

相關INI設置(這是被過度riden代碼):

[[email protected] ~]$ php -i | grep date.timezone 
date.timezone => America/Los_Angeles => America/Los_Angeles 

[[email protected] ~]$ php -i | grep error_log 
error_log => no value => no value 

我缺少什麼?任何線索表示讚賞。謝謝。

回答

1

升級到php5.3.3修復了這個問題。沒有試過版本之間(即5.2.11和5.3.3之間)。

+1

我在PHP 5.4.7中使用XAMPP並遇到此問題。不知道從哪裏開始提到。 – 2013-03-05 03:58:07