From Fedora Project Wiki
No edit summary
 
(16 intermediate revisions by 2 users not shown)
Line 56: Line 56:
CLOSED as NEXTRELEASE -> change is completed and verified and will be delivered in next release under development
CLOSED as NEXTRELEASE -> change is completed and verified and will be delivered in next release under development
-->
-->
* Tracker bug: <will be assigned by the Wrangler>
* Tracker bug: [https://bugzilla.redhat.com/show_bug.cgi?id=1353500 #1353500]


Most of the work is done in my personal repository, see [http://rpms.remirepo.net/fedora/24/php70/x86_64/repoview/letter_p.group.html php70 repository for Fedora 24]
Most of the work is done in my personal repository, see [http://rpms.remirepo.net/fedora/24/php70/x86_64/repoview/letter_p.group.html php70 repository for Fedora 24]
PHP version 7.0.8 build in rawhide June 27th.


== Detailed Description ==
== Detailed Description ==
Line 74: Line 76:
== Benefit to Fedora ==
== Benefit to Fedora ==


Provides the latest PHP version to developers and system administrators.
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.
Some other distributions already provides this version, upgrade have been differed in Fedora to give time to projects using PHP to fix compatibility.
Line 97: Line 99:
<!-- Does this feature require coordination with release engineering (e.g. changes to installer image generation or update package delivery)?  Is a mass rebuid required?  If a rel-eng ticket exists, add a link here.  
<!-- Does this feature require coordination with release engineering (e.g. changes to installer image generation or update package delivery)?  Is a mass rebuid required?  If a rel-eng ticket exists, add a link here.  
Please work with releng prior to feature submission, and ensure that someone is on board to do any process development work and testing; don't just assume that a bullet point in a change puts someone else on the hook.-->
Please work with releng prior to feature submission, and ensure that someone is on board to do any process development work and testing; don't just assume that a bullet point in a change puts someone else on the hook.-->
** [[Fedora_Program_Management/ReleaseBlocking/Fedora{{FedoraVersionNumber|next}}|List of deliverables]]: N/A (not a System Wide Change) <!-- REQUIRED FOR SYSTEM WIDE CHANGES -->
** [[Fedora_Program_Management/ReleaseBlocking/Fedora{{FedoraVersionNumber|next}}|List of deliverables]]: N/A (not affected by this Change) <!-- REQUIRED FOR SYSTEM WIDE CHANGES -->
<!-- Please check the list of Fedora release deliverables and list all the differences the feature brings -->
<!-- Please check the list of Fedora release deliverables and list all the differences the feature brings -->


* Policies and guidelines: N/A (not needed) <!-- REQUIRED FOR SYSTEM WIDE CHANGES -->
* Policies and guidelines: N/A (not affected by this Change) <!-- REQUIRED FOR SYSTEM WIDE CHANGES -->
<!-- Do the packaging guidelines or other documents need to be updated for this feature?  If so, does it need to happen before or after the implementation is done?  If a FPC ticket exists, add a link here. -->
<!-- Do the packaging guidelines or other documents need to be updated for this feature?  If so, does it need to happen before or after the implementation is done?  If a FPC ticket exists, add a link here. -->


Line 111: Line 113:
Status of compatibility for C extensions: see [http://blog.remirepo.net/pages/PECL-extensions-RPM-status PECL extensions status]
Status of compatibility for C extensions: see [http://blog.remirepo.net/pages/PECL-extensions-RPM-status PECL extensions status]


Not yet compatible extensions are probably dead project.
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
 


<!-- REQUIRED FOR SYSTEM WIDE CHANGES -->
<!-- REQUIRED FOR SYSTEM WIDE CHANGES -->
N/A (not a System Wide Change)


== How To Test ==
== How To Test ==
Line 154: Line 181:
== Contingency Plan ==
== Contingency Plan ==


<!-- If you cannot complete your feature by the final development freeze, what is the backup plan?  This might be as simple as "Revert the shipped configuration".  Or it might not (e.g. rebuilding a number of dependent packages).  If you feature is not completed in time we want to assure others that other parts of Fedora will not be in jeopardy.  -->
<!-- If you cannot complete your feature by the final development freeze, what is the backup plan?  This might be as simple as "Revert the shipped configuration".  Or it might not (e.g. rebuilding a number of dependent packages).  If you feature is not completed in time we want to assure others  
* Contingency mechanism: (What to do?  Who will do it?) N/A (not a System Wide Change) <!-- REQUIRED FOR SYSTEM WIDE CHANGES -->
that other parts of Fedora will not be in jeopardy.  -->
* Contingency mechanism: Drop not compatible packages <!-- REQUIRED FOR SYSTEM WIDE CHANGES -->
<!-- When is the last time the contingency mechanism can be put in place?  This will typically be the beta freeze. -->
<!-- When is the last time the contingency mechanism can be put in place?  This will typically be the beta freeze. -->
* Contingency deadline: N/A (not a System Wide Change) <!-- REQUIRED FOR SYSTEM WIDE CHANGES -->
* Contingency deadline: Beta <!-- REQUIRED FOR SYSTEM WIDE CHANGES -->
 
<!-- Does finishing this feature block the release, or can we ship with the feature in incomplete state? -->
<!-- Does finishing this feature block the release, or can we ship with the feature in incomplete state? -->
* Blocks release? No (broken packages will be proposed for removal) <!-- REQUIRED FOR SYSTEM WIDE CHANGES -->
* Blocks release? No (broken packages will be proposed for removal) <!-- REQUIRED FOR SYSTEM WIDE CHANGES -->
Line 178: Line 205:
Release Notes are not required for initial draft of the Change Proposal but has to be completed by the Change Freeze.  
Release Notes are not required for initial draft of the Change Proposal but has to be completed by the Change Freeze.  
-->
-->
https://fedoraproject.org/wiki/Documentation_Development_Web_Beat


 
[[Category:ChangeAcceptedF25]]
[[Category:ChangeReadyForWrangler]]
<!-- When your change proposal page is completed and ready for review and announcement -->
<!-- When your change proposal page is completed and ready for review and announcement -->
<!-- remove Category:ChangePageIncomplete and change it to Category:ChangeReadyForWrangler -->
<!-- remove Category:ChangePageIncomplete and change it to Category:ChangeReadyForWrangler -->

Latest revision as of 17:20, 11 September 2016


PHP 7.0

Summary

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

Owner

Current status

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

https://fedoraproject.org/wiki/Documentation_Development_Web_Beat