[Buildroot] [PATCH] php.ini: set date.timezone to UTC

Arnout Vandecappelle arnout at mind.be
Sat May 2 07:49:10 UTC 2015


On 02/05/15 01:08, Floris Bos wrote:
> On 05/02/2015 12:23 AM, Arnout Vandecappelle wrote:
>> On 01/05/15 20:12, Floris Bos wrote:
>>> Prevent a warning being logged each time a PHP date/time method is
>>> used by setting UTC as (default) timezone in php.ini
>>>
>>> Signed-off-by: Floris Bos <bos at je-eigen-domein.nl>
>>> ---
>>>   package/php/php.mk | 1 +
>>>   1 file changed, 1 insertion(+)
>>>
>>> diff --git a/package/php/php.mk b/package/php/php.mk
>>> index 3b9a117..7bd3f63 100644
>>> --- a/package/php/php.mk
>>> +++ b/package/php/php.mk
>>> @@ -288,6 +288,7 @@ define PHP_INSTALL_FIXUP
>>>       rm -f $(TARGET_DIR)/usr/bin/phpize
>>>       $(INSTALL) -D -m 0755 $(PHP_DIR)/php.ini-production \
>>>           $(TARGET_DIR)/etc/php.ini
>>> +    $(SED) 's/;date.timezone =/date.timezone = UTC/' $(TARGET_DIR)/etc/php.ini
>>   Would it be possible to use BR2_TARGET_LOCALTIME (if set) instead? Something
>> like:
>>
>> ifeq ($(BR2_TARGET_LOCALTIME),)
>> PHP_LOCALTIME = UTC
>> else
>> PHP_LOCALTIME = $(BR2_TARGET_LOCALTIME)
>> endif
>>
>>     $(SED) 's%;date.timezone =.*%date.timezone = $(PHP_LOCALTIME)%' \
>>         $(TARGET_DIR)/etc/php.ini
>>
>>   That is, assuming that php can deal with complex timezones like
>> Europe/Brussels.
> 
> PHP used to use the system's time zone name automatically in older PHP versions.
> But nowadays fills your log with warnings that is not reliable:
> 
> ==
> Warning: strtotime(): It is not safe to rely on the system's timezone settings.

 Any idea _why_ it is not safe? I've tried to google it but didn't come up with
a reason, just a lot of fixes.

> You are *required* to use the date.timezone setting or the
> date_default_timezone_set() function. In case you used any of those methods and
> you are still getting this warning, you most likely misspelled the timezone
> identifier. We selected the timezone 'UTC' for now, but please set date.timezone
> to select your timezone.
> ==
> 
> It certainly does work for common names like Europe/Brussels, but not sure if
> that goes for every zone name.

 Hm, php (like so often) has its own re-implementation of the timezone
database... . It's based on the same Olson database so it's probably OK for
valid timezones, but tzdata has additional posix/ and right/ variants and it
also has the old SystemV/ timezones...

 Well, people who use one of these weird timezones will see the php error so
they can solve it I guess.

 Regards,
 Arnout

-- 
Arnout Vandecappelle                          arnout at mind be
Senior Embedded Software Architect            +32-16-286500
Essensium/Mind                                http://www.mind.be
G.Geenslaan 9, 3001 Leuven, Belgium           BE 872 984 063 RPR Leuven
LinkedIn profile: http://www.linkedin.com/in/arnoutvandecappelle
GPG fingerprint:  7CB5 E4CC 6C2E EFD4 6E3D A754 F963 ECAB 2450 2F1F


More information about the buildroot mailing list