php.net |  support |  documentation |  report a bug |  advanced search |  search howto |  statistics |  random bug |  login
Bug #78309 error_log date output default timezone overrides date.timezone
Submitted: 2019-07-17 19:33 UTC Modified: 2021-07-13 15:57 UTC
From: ian dot lintner at workiva dot com Assigned: cmb (profile)
Status: Wont fix Package: *General Issues
PHP Version: 7.3.7 OS: aws-linux, alpine
Private report: No CVE-ID: None
View Add Comment Developer Edit
Anyone can comment on a bug. Have a simpler test case? Does it work for you on a different platform? Let us know!
Just going to say 'Me too!'? Don't clutter the database with that please — but make sure to vote on the bug!
Your email address:
MUST BE VALID
Solve the problem:
31 - 23 = ?
Subscribe to this entry?

 
 [2019-07-17 19:33 UTC] ian dot lintner at workiva dot com
Description:
------------
error_log emitted log entry timezone appears to be using the "Default Timezone" first and before falling back to date.timezone rather than just using date.timezone as the overriding variable.

So this maybe the expected behavior now, but the last error_log bugfix notes that I read the goal was to use date.timezone only, but there maybe superseding requirements that I missed or this is a feature request or documentation update.


After reading tracing the PHP source it appears error_log uses the user function:  php_format_date

Source: https://github.com/php/php-src/blob/3c2f433b2b0a4334b4f96358660ead92abdbb2cb/main/main.c#L888

Which uses guess timezone, which follows the fallback logic of 
* "Default Timezone"
* date.timezone
* UTC
(I maybe wrong) 

The concern is in a web application where users may specify their default Timezone (e.g. Drupal) then error_log entries can have different timezones. 

Personally opinion date.timezone should be the timezone for error_log as it is an ini value rather than a mutable value that may change between session, request or execution. So the error log timezone can remain consistent across multiple servers, executions. just my $.02


Patches

Add a Patch

Pull Requests

Add a Pull Request

History

AllCommentsChangesGit/SVN commitsRelated reports
 [2019-07-18 11:26 UTC] cmb@php.net
date.timezone is PHP_INI_ALL[1], though, so it can be changed
during runtime as well.

[1] <https://www.php.net/manual/en/datetime.configuration.php>
 [2021-07-13 15:57 UTC] cmb@php.net
-Status: Open +Status: Wont fix -Assigned To: +Assigned To: cmb
 
PHP Copyright © 2001-2024 The PHP Group
All rights reserved.
Last updated: Fri Apr 19 11:01:28 2024 UTC