Features/Php54

= PHP 5.4 =

Summary
To provide the latest PHP stack.

Owner

 * Name: Remi Collet


 * Email: Fedora AT SPAMFREE FamilleCollet DOT com

Current status

 * Targeted release: Fedora 17
 * Last updated: 2012-03-02
 * Percentage of completion: 100%

Detailed Description
Fedora provides PHP 5.3.x since version 12. ZTS module for apache is provided without any extension/module, this lack make it nearly unusable.

PHP 5.4.0RC4 was published for christmas, see announce. Finale version should be available before fedora 17.

PHP 5.4.0RC5 is released (Jan 7th)

PHP 5.4.0RC6 is released (Jan 24th)

PHP 5.4.0RC7 is released (Feb 3rd)

PHP 5.4.0RC8 is released (Feb 18)

PHP 5.4.0 finale is released (Mar 01)


 * Update to PHP 5.4.0 (done)
 * Build ZTS extensions/modules (done)
 * Provide ZTS devel stuff in php-devel (done)
 * Update other extensions (mostly pecl) for latest ABI
 * Update PHP Guidelines

Benefit to Fedora
Provides the latest PHP version.

Scope

 * Mass rebuild of all packages which requires php ABI, some will requires update or patch
 * Test of web applications

How To Test

 * test PHP web applications available in the repository
 * test PHP with apache in worker mode (ZTS modules)

User Experience

 * Web developper will get the latest upstream PHP version

Dependencies
From repoquery --whatrequires 'php(zend-abi)'


 * cups-php : version 1.5.0 + patch
 * graphviz-php : version 2.28.0 (need -fpermissive or patched swig: bug #770696)
 * ice-php : version 3.4.2 + patch
 * php-digidoc : version 0.3.0
 * php-eaccelerator upstream seems dead
 * php-facedetect : version 1.0.1 + patch
 * php-idn : version 1.2c with patch (upstream seems dead)
 * php-libpuzzle : version 0.11
 * php-libvirt : version 0.4.5 + patch
 * php-magickwand : version 1.0.9
 * php-mapi : version 7.0.3 + patch
 * php-pecl-apc : version 3.1.9 + svn snapshot
 * php-pecl-gearman : version 1.0.1
 * php-pecl-geoip : version 1.0.8
 * php-pecl-gmagick : version 1.0.10b1
 * php-pecl-igbinary : version 1.0.2 from git
 * php-pecl-imagick : version 3.1.0RC1
 * php-pecl-lzf : version 1.5.2
 * php-pecl-mailparse : version 2.1.5 + patch
 * php-pecl-memcache : version 3.0.6 + patch
 * php-pecl-memcached : version 2.0.0 from git
 * php-pecl-mongo : version 1.2.6
 * php-pecl-ncurses : version 1.0.1
 * php-pecl-oauth : version 1.2.2
 * php-pecl-radius : version 1.2.5
 * php-pecl-rrd : version 1.0.5
 * php-pecl-selinux : version 0.3.1
 * php-pecl-solr : version 1.0.2
 * php-pecl-sphinx : version 1.1.0
 * php-pecl-ssh2 : version 0.11.3
 * php-pecl-xdebug : version 2.2.0 from git
 * php-pecl-yaml : version 1.0.1
 * php-shout : version 0.9.2
 * rrdtool-php : version 1.4.4 + patch (or to be replaced by php-pecl-rrd)
 * syck-php : version 0.61 with patch (or switch to php-pecl-syck)
 * uuid-php : version 1.6.2 + patch
 * zorba-php : version 2.1.0 with patched swig

N.B. when version is given, this means package have been build/test against php 5.4. All patches are, of course, reported to each upstream.

Contingency Plan
Work in a dedicated build target. Merge only when all is ok.

There is a low risk that finale version not released at f17 time, but in case, we'll ship RC5 (or greater).

Documentation

 * upstream NEWS
 * upstream UPGRADING (for web applications developer)
 * upstream UPGRADING.INTERNALS (for extension developer)

Release Notes
Fedora 17 includes version 5.4.0 of php. This includes a number of significant new features, including support for Traits, and a minimal Built-in web server as well as a number of performance enhancements. For complete details see Migrating from PHP 5.3.x to PHP 5.4.x.

Fedora 17 now provides php extension to used with apache in worker mode (aka as ZTS extensions). This should be considered as experimental.

The eAccelerator project is dead, no upate, no compatible version, so php-eaccelerator have been removed from the repository. The APC is a good alternative as this opcode cache is maintained by the PHP team itself, so use the php-pecl-apc package.

Comments and Discussion
The feature could be split if needed:
 * PHP 5.4.0
 * ZTS extensions

See Talk:Features/Php54