php.net |  support |  documentation |  report a bug |  advanced search |  search howto |  statistics |  random bug |  login
Bug #80923 timezonedb does not compile anymore with PHP 5.3.29
Submitted: 2021-03-31 12:50 UTC Modified: 2022-10-19 15:15 UTC
Votes:1
Avg. Score:5.0 ± 0.0
Reproduced:1 of 1 (100.0%)
Same Version:0 (0.0%)
Same OS:1 (100.0%)
From: phpdev at ehrhardt dot nl Assigned: derick (profile)
Status: Closed Package: *General Issues
PHP Version: Irrelevant OS: Windows VC9
Private report: No CVE-ID: None
Welcome back! If you're the original bug submitter, here's where you can edit the bug or add additional notes.
If you forgot your password, you can retrieve your password here.
Password:
Status:
Package:
Bug Type:
Summary:
From: phpdev at ehrhardt dot nl
New email:
PHP Version: OS:

 

 [2021-03-31 12:50 UTC] phpdev at ehrhardt dot nl
Description:
------------
I regularly recompile PHP 5.3.27 on Windows (VC9) when a dependency has been updated (like Curl). This time the timezonedb extension did not compile anymore. Error:

> Your version of timelib does not understand the timzonedb data format, please upgrade

This was introduced in this revision: https://svn.php.net/viewvc/pecl/timezonedb/trunk/timezonedb.h?r1=352315&r2=352314&pathrev=352315 

PHP 5.4.41 uses exactly the same timelib files on Windows and it still happlly compiled. So I changed https://svn.php.net/viewvc/pecl/timezonedb/trunk/timezonedb.c?view=markup and defined TIMELIB_SUPPORTS_V2DATA for PHP 5.3.27 as well. It compiled and loaded fine after this change.

I know PHP 5.3.27 is really old, but the PECL info still states that timezonedb is for 'PHP 5.2.0 or newer'.

Test script:
---------------
Compile timezonedb with PHP 5.3.27 on Windows.


Patches

Pull Requests

History

AllCommentsChangesGit/SVN commitsRelated reports
 [2021-03-31 13:07 UTC] cmb@php.net
-Status: Open +Status: Verified -Assigned To: +Assigned To: derick
 [2021-03-31 13:07 UTC] cmb@php.net
> but the PECL info still states that timezonedb is for 'PHP 5.2.0
> or newer'.

I think that should be fixed in package.xml.
 [2021-04-01 07:07 UTC] derick@php.net
I thought I had updated that. But it shouldn't have been in a tinezonedb PECL package release at least?
 [2021-04-01 07:38 UTC] phpdev at ehrhardt dot nl
-Summary: timezonedb does not compile anymore with PHP 5.3.27 +Summary: timezonedb does not compile anymore with PHP 5.3.29
 [2021-04-01 07:38 UTC] phpdev at ehrhardt dot nl
The minimum PHP version in http://svn.php.net/viewvc/pecl/timezonedb/trunk/package.xml?view=markup still is 5.2.0.

Waht is the reason PHP 5.3.29 is excluded now? After adding PHP 5.3.29 to timezonedb.c, it compiled and loaded fine. I did not run the tests though. Are they expected to fail?

> #if PHP_VERSION_ID >= 50329 && PHP_VERSION_ID <= 50399
> # define TIMELIB_SUPPORTS_V2DATA
> #endif
 [2022-10-19 15:14 UTC] git@php.net
Automatic comment on behalf of derickr
Revision: https://github.com/php/pecl-datetime-timezonedb/commit/fb6fbdc87bd579085481f2d61c65a672ae10fe8e
Log: Fixed bug #80923: Mark earliest supported version as PHP 5.4
 [2022-10-19 15:14 UTC] git@php.net
-Status: Verified +Status: Closed
 [2022-10-19 15:15 UTC] derick@php.net
-Package: timezonedb +Package: *General Issues
 [2022-10-19 15:15 UTC] derick@php.net
PHP 5.3 would not be able to use this new data format, and the `package.xml` file was wrong. I have now corrected that.
 
PHP Copyright © 2001-2025 The PHP Group
All rights reserved.
Last updated: Fri May 09 13:01:28 2025 UTC