PHP 8.0 transition plan

Bryce Harrington bryce.harrington at canonical.com
Wed Jun 23 16:34:39 UTC 2021


PHP 8.0 has now transitioned in Impish, and php 7.4 is removed.

In addition to the language runtime itself, we also worked out the
issues in various PHP ecosystems built on it.  Numerous packages needed
patched or remerged to support version 8.0.

Most of the required changes ended up being pretty straightforward -
adjusting to new function declaration syntax styles, dropping use of
deprecated code, fixing test cases, etc.

If you find a package you're working on is failing due to something
php-related (such as an language binding extension), it's worth checking
if it has been updated for php8.0 and if not, first look for
bugs/branches upstream, as often the php 8 work has been done but just
not yet landed/released.

Thanks go to Utkarsh for tons of help with this migration and to Brian
Murray and Steve Langasek for admin assistance.

Bryce

On Wed, May 12, 2021 at 09:12:03AM -0700, Bryce Harrington wrote:
> Hi devs,
> 
> For impish the server team will be transitioning PHP to 8.0 over the
> coming weeks. (LP: #1927264) [0]
> 
> Since version 7.0, upstream PHP has adopted a regular release cadence[1],
> with one release per year. Each release is supported for 2 years, plus a
> third year of security critical fixes. PHP 8.0 was available last cycle
> but since changes from 7.4 to 8.0 were significant[2], we opted to postpone
> it to the 21.10 cycle and focused instead on resolving some phpunit
> 8.5->9.5 transition troubles. Landing PHP 8.0 this cycle will enable it
> to receive testing in a release prior to 22.04 LTS.
> 
> php8.0 has now been sync'd into impish from Debian experimental and set
> as the default PHP.  This breaks the PHP stack[3] and starts the actual
> transition.
> 
> Most or all of the PHP stack will need rebuilt at this point. This is
> phased due to package dependencies - for the php7.4 transition we
> started with php-propro, php-apcu, and php-msgpack; followed by
> php-apcu-bc, php-imagick, and php-igbinary; and then the rest of the
> stack. I anticipate php8.0's transition will proceed similarly.
> 
> Typically during PHP transitions, packages will fail to build or fail
> autopkgtests. Deprecated functionality[4] has been a common case and
> likely will be so for php8.0 as well[5]. There may also be
> phpunit-related issues in packages that didn't get re-built or re-tested
> since phpunit 9.5 transitioned.
> 
> Thanks,
> Bryce
> 
> 0: https://wiki.ubuntu.com/ServerTeam/Transition/Php8.0
> 1: https://www.php.net/supported-versions.php
> 2: https://stitcher.io/blog/new-in-php-8
> 3: https://people.canonical.com/~ubuntu-archive/proposed-migration/update_excuses.html#php-defaults
> 4: https://wiki.php.net/rfc/deprecations_php_7_4
> 5: https://stitcher.io/blog/new-in-php-8
> 
> -- 
> ubuntu-devel mailing list
> ubuntu-devel at lists.ubuntu.com
> Modify settings or unsubscribe at: https://lists.ubuntu.com/mailman/listinfo/ubuntu-devel



More information about the ubuntu-devel mailing list