[PCBC-151] support PHP 5.4 Created: 29/Nov/12  Updated: 02/Apr/13  Resolved: 02/Apr/13

Status: Closed
Project: Couchbase PHP client library
Component/s: library
Affects Version/s: 1.0.4, 1.1.0-dp5
Fix Version/s: None
Security Level: Public

Type: New Feature Priority: Major
Reporter: Matt Ingenthron Assignee: Matt Ingenthron
Resolution: Fixed Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified


 Description   
Owing to changes in PHP API versions, we'll need to rebuild/retest the extension for PHP 5.4. We'll track that in this issue.

A workaround for now would be to download the PHP 1.0.6 source, build, test and release. Source is available from:
https://github.com/couchbase/php-ext-couchbase/archive/1.0.6.tar.gz

The included README covers how to build/test. It does require a php development environment

 Comments   
Comment by Matt Ingenthron [ 29/Nov/12 ]
See also comments in PCBC-112.
Comment by Matt Ingenthron [ 11/Dec/12 ]
Talked to PHP core contributor Pierre Joye today.

To do this correctly, PHP must be rebuilt for each Major.Minor release and each nts/ts. It must also be built per architecture.

From the discussion:

hi Pierre! question for you, if we build our PECL extension against 5.3, we need to rebuild against 5.4, right? ingenthr @ 9:06

ingenthr, yes, and for each you also need ts and nts Pierre @ 9:06
ingenthr, I would do it for 5.5 too while being at it, always good to be in line 9:06
 
so, rebuild for each ts and nts, and each major.minor, huh? ingenthr @ 9:07

yes Pierre @ 9:07
they are usually binary incompatible, while being API compatible 9:07
ABI no, API yes 9:07
 
you're referring to between ts and nts? ingenthr @ 9:08
okay, so…. what we're doing right now is just wrong 9:09
 
morning mordy_ @ 9:09

ingenthr, x.y.z > x.y.z+1 API and ABI compatible Pierre @ 9:29
ingenthr, x.y.z > x.y+1.z+1 API compatible and ABI not compatible 9:30
 
whew mordy_ @ 9:30

ingenthr, x.y.z > x+1.y.z End of the world as we know it Pierre @ 9:30

err Pierre @ 9:30

ingenthr, x.y.z > x.y+1.z API compatible and ABI not compatible Pierre @ 9:30

good morning mordy_ ingenthr @ 9:30

so patch level doesn't break ABI, minor level does mordy_ @ 9:30

ABI breakages only need recompilation, sometimes with some #ifdef Pierre @ 9:31

thanks Pierre, is there a primary source for this? I just know I'm going to have to explain this one a lot. and I'd searched, but it's a hard thing to search for ingenthr @ 9:31

ingenthr: i pretty much believe we've been working on this premise already mordy_ @ 9:32

ingenthr, https://wiki.php.net/rfc/releaseprocess Pierre @ 9:32

Comment by Matt Ingenthron [ 11/Dec/12 ]
The updated source tarball is available from:

https://github.com/couchbase/php-ext-couchbase/archive/1.1.0.tar.gz

This can be built (instructions in the readme) on PHP 5.4 or 5.5, with nts/ts.
Comment by makeawish [ 11/Jan/13 ]
Matt,

will you guys in the very near future release/ make avail a PHP client library which will support 5.4 ? Also it
might be helpful to update the docs to reflect that the current one does not support 5.4, i says 5.3 or higher
Comment by Perry Krug [ 20/Feb/13 ]
Matt, can we get a release assigned to this?
Comment by Matt Ingenthron [ 20/Feb/13 ]
Will do when I can assign appropriate resources.
Comment by Trond Norbye [ 02/Apr/13 ]
Our download page contains betas for windows on 5.4, and the "prebuilt" versions for the other os's contains the version the os use..
Generated at Sat Sep 20 01:19:25 CDT 2014 using JIRA 5.2.4#845-sha1:c9f4cc41abe72fb236945343a1f485c2c844dac9.