mirror of
https://github.com/php/php-src.git
synced 2025-08-15 13:38:49 +02:00
Only warn when an incorrect timezone is set through 'date.timezone'
This commit is contained in:
parent
e0d21297fe
commit
6770158d47
9 changed files with 20 additions and 19 deletions
|
@ -224,7 +224,7 @@ static PHP_INI_MH(OnUpdate_date_timezone);
|
|||
|
||||
/* {{{ INI Settings */
|
||||
PHP_INI_BEGIN()
|
||||
STD_PHP_INI_ENTRY("date.timezone", "", PHP_INI_ALL, OnUpdate_date_timezone, default_timezone, zend_date_globals, date_globals)
|
||||
STD_PHP_INI_ENTRY("date.timezone", "UTC", PHP_INI_ALL, OnUpdate_date_timezone, default_timezone, zend_date_globals, date_globals)
|
||||
PHP_INI_ENTRY("date.default_latitude", DATE_DEFAULT_LATITUDE, PHP_INI_ALL, NULL)
|
||||
PHP_INI_ENTRY("date.default_longitude", DATE_DEFAULT_LONGITUDE, PHP_INI_ALL, NULL)
|
||||
PHP_INI_ENTRY("date.sunset_zenith", DATE_SUNSET_ZENITH, PHP_INI_ALL, NULL)
|
||||
|
@ -478,20 +478,18 @@ timelib_tzinfo *php_date_parse_tzfile_wrapper(const char *formal_tzname, const t
|
|||
/* {{{ static PHP_INI_MH(OnUpdate_date_timezone) */
|
||||
static PHP_INI_MH(OnUpdate_date_timezone)
|
||||
{
|
||||
DATEG(timezone_valid) = 0;
|
||||
|
||||
if (new_value && ZSTR_VAL(new_value) && !timelib_timezone_id_is_valid(ZSTR_VAL(new_value), DATE_TIMEZONEDB)) {
|
||||
php_error_docref(NULL, E_WARNING, "Invalid date.timezone value '%s', using 'UTC' instead", ZSTR_VAL(new_value));
|
||||
return FAILURE;
|
||||
}
|
||||
|
||||
if (OnUpdateString(entry, new_value, mh_arg1, mh_arg2, mh_arg3, stage) == FAILURE) {
|
||||
return FAILURE;
|
||||
}
|
||||
|
||||
DATEG(timezone_valid) = 0;
|
||||
if (stage == PHP_INI_STAGE_RUNTIME) {
|
||||
if (!timelib_timezone_id_is_valid(DATEG(default_timezone), DATE_TIMEZONEDB)) {
|
||||
if (DATEG(default_timezone) && *DATEG(default_timezone)) {
|
||||
php_error_docref(NULL, E_WARNING, "Invalid date.timezone value '%s'", DATEG(default_timezone));
|
||||
}
|
||||
} else {
|
||||
DATEG(timezone_valid) = 1;
|
||||
}
|
||||
}
|
||||
DATEG(timezone_valid) = 1;
|
||||
|
||||
return SUCCESS;
|
||||
}
|
||||
|
|
|
@ -10,5 +10,4 @@ try {
|
|||
}
|
||||
?>
|
||||
--EXPECTF--
|
||||
Warning: ini_set(): Invalid date.timezone value 'dummy' in %sbug73239.php on line %d
|
||||
DateTime::__construct(): UTC was used as timezone, because the date.timezone value 'dummy' is invalid
|
||||
Warning: ini_set(): Invalid date.timezone value 'dummy', using 'UTC' instead in %sbug73239.php on line %d
|
||||
|
|
|
@ -13,5 +13,6 @@ date.timezone=
|
|||
echo date('e'), "\n";
|
||||
?>
|
||||
--EXPECT--
|
||||
Warning: PHP Startup: Invalid date.timezone value '', using 'UTC' instead in Unknown on line 0
|
||||
UTC
|
||||
UTC
|
||||
|
|
|
@ -12,4 +12,5 @@ date.timezone=
|
|||
echo date_default_timezone_get(), "\n";
|
||||
?>
|
||||
--EXPECT--
|
||||
Warning: PHP Startup: Invalid date.timezone value '', using 'UTC' instead in Unknown on line 0
|
||||
UTC
|
||||
|
|
|
@ -7,5 +7,5 @@ date.timezone=Incorrect/Zone
|
|||
echo date_default_timezone_get(), "\n";
|
||||
?>
|
||||
--EXPECTF--
|
||||
Warning: date_default_timezone_get(): UTC was used as timezone, because the date.timezone value 'Incorrect/Zone' is invalid in %sdate_default_timezone_get-4.php on line %d
|
||||
Warning: PHP Startup: Invalid date.timezone value 'Incorrect/Zone', using 'UTC' instead in %s on line %d
|
||||
UTC
|
||||
|
|
|
@ -21,7 +21,8 @@ date.timezone=
|
|||
echo date(DATE_ISO8601, $date3), "\n";
|
||||
echo date(DATE_ISO8601, $date4), "\n";
|
||||
?>
|
||||
--EXPECT--
|
||||
--EXPECTF--
|
||||
Warning: PHP Startup: Invalid date.timezone value '', using 'UTC' instead in %s on line %d
|
||||
America/Indiana/Knox
|
||||
2005-01-12T03:00:00-0500
|
||||
2005-07-12T03:00:00-0500
|
||||
|
|
|
@ -7,4 +7,4 @@ ini_set("date.timezone", "Incorrect/Zone");
|
|||
|
||||
?>
|
||||
--EXPECTF--
|
||||
Warning: ini_set(): Invalid date.timezone value 'Incorrect/Zone' in %sini_set_incorrect.php on line %d
|
||||
Warning: ini_set(): Invalid date.timezone value 'Incorrect/Zone', using 'UTC' instead in %sini_set_incorrect.php on line %d
|
||||
|
|
|
@ -14,5 +14,6 @@ try {
|
|||
echo $e->getMessage();
|
||||
}
|
||||
?>
|
||||
--EXPECT--
|
||||
IntlDateFormatter::__construct(): UTC was used as timezone, because the date.timezone value 'Mars/Utopia_Planitia' is invalid
|
||||
--EXPECTF--
|
||||
Warning: PHP Startup: Invalid date.timezone value 'Mars/Utopia_Planitia', using 'UTC' instead in %s on line %d
|
||||
Wat?
|
||||
|
|
|
@ -11,7 +11,7 @@ if (PCRE_JIT_SUPPORT == false) {
|
|||
}
|
||||
?>
|
||||
--INI--
|
||||
date.timezone=
|
||||
date.timezone=UTC
|
||||
--FILE--
|
||||
<?php
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue