From Fedora Project Wiki
Line 138: Line 138:
* php-mongodb (the library), review #1276834
* php-mongodb (the library), review #1276834
* php-alcaeus-mongo-php-adapter (a compatibility library), review #1347147
* php-alcaeus-mongo-php-adapter (a compatibility library), review #1347147
* php-pecl-apcu-bc (the APC compatibility layer for php-pecl-apcu), ready, but not yet submitted
* php-pecl-apcu-bc (the APC compatibility layer for php-pecl-apcu), review #1350148





Revision as of 17:02, 27 June 2016


PHP 7.0

Summary

Update the PHP stack in Fedora to latest version 7.0.x

Owner

Current status

  • Targeted release: Fedora 25
  • Last updated: 2016-06-27
  • Tracker bug: <will be assigned by the Wrangler>

Most of the work is done in my personal repository, see php70 repository for Fedora 24

PHP version 7.0.8 build in rawhide June 27th.

Detailed Description

Update the PHP stack in Fedora to latest version 7.0.x, which brings a big performance improvement.

  • PHP 7.0.0 was released in December 2015.
  • PHP 7.1.0 is planed for end of year, but is probably not compatible with our Schedule, will probably be a Fedora 26 feature

Compatibility for PHP code is very good, while internal API have big changes, implying a major rewrite of C extensions.


Benefit to Fedora

Provides the latest PHP version to developers and system administrators. Especially a great performance boost have been confirmed by various projects (running big web site), around 50% saved, time and memory.

Some other distributions already provides this version, upgrade have been differed in Fedora to give time to projects using PHP to fix compatibility.

This will be an opportunity to clean (remove) old packages, not compatible and unmaintained upstream.


Scope

  • Proposal owners: Check Koschei status. Test with latest version to ensure compatibility. Work with upstream on bug fixing.


  • Other developers: all PHP package owners: test with latest version to ensure compatibility. Work with upstream on bug fixing.


  • Release engineering: needed mass rebuild (C extensions) done but change owner.
  • Policies and guidelines: N/A (not affected by this Change)
  • Trademark approval: N/A (not needed for this Change)

Upgrade/compatibility impact

Status of compatibility for C extensions: see PECL extensions status

Not yet compatible extensions are probably dead projects:

  • php-pecl-cairo
  • php-pecl-gearman
  • php-pecl-jsonc (replaced by php-json which is now under a "free" license) => dropped
  • php-pecl-judy
  • php-pecl-krb5
  • php-magickwand (upstream states this project is deprecated, and recommends php-pecl-imagick)
  • php-pecl-memprof
  • php-pecl-mongo (replaced by new driver php-pecl-mongodb, and the php-mongodb library, both are under review) => dropped
  • php-pecl-mysqlnd-ms => dropped
  • php-pecl-mysqlnd-qc => dropped
  • php-pecl-ncurses
  • php-pecl-parsekit
  • php-pimple (by disabling the extension, keeping the pure-php library, without its accelerator)
  • php-pecl-runkit
  • php-twig (by disabling the extension, keeping the pure-php library, without its accelerator)
  • php-xcache (php-opcache is the official opcode cache, maintained by the PHP project, APCU for user data cache) => dropped
  • php-pecl-xhprof => dropped

New packages needed:

  • php-pecl-mongodb (the new driver), review #1269056
  • php-mongodb (the library), review #1276834
  • php-alcaeus-mongo-php-adapter (a compatibility library), review #1347147
  • php-pecl-apcu-bc (the APC compatibility layer for php-pecl-apcu), review #1350148


How To Test

  • The PHP stack (extensions and libraries) are monitored by Koschei, see the Koschei PHP group
  • install and play with your web applications


User Experience

Developers and system administrators will have the great benefit or running the latest PHP version.

Dependencies

All php-* packages (and some *-php)


Contingency Plan

  • Contingency mechanism: Drop not compatible packages
  • Contingency deadline: Beta
  • Blocks release? No (broken packages will be proposed for removal)
  • Blocks product? N/A

Documentation


Release Notes