Uploaded image for project: 'Moodle'
  1. Moodle
  2. MDL-73016

Prepare Moodle for PHP 8.1

XMLWordPrintable

    • MOODLE_401_STABLE
    • MOODLE_401_STABLE
    • Prepare Moodle for PHP 8.1
    • Hide

      A) Verify the docs have been updated with the information about PHP 8.1 support., at very least:

      B) Verify that both 401_STABLE and master (4.2dev) can be installed using PHP 8.1

      C) Verify that a 39_STABLE site can be upgraded to 401_STABLE using PHP 8.1

      D) Verify that a 311_STABLE site can be upgraded to master (4.2dev) using PHP 8.1

      E) Check that all CI jobs are passing ok with PHP 8.1.

      Show
      A) Verify the docs have been updated with the information about PHP 8.1 support., at very least: PHP 8.1 support: https://moodledev.io/general/development/policies/php Existing release notes in all the branches affected, see: for 4.1: https://moodledev.io/general/releases/4.1#server-requirements B) Verify that both 401_STABLE and master (4.2dev) can be installed using PHP 8.1 C) Verify that a 39_STABLE site can be upgraded to 401_STABLE using PHP 8.1 D) Verify that a 311_STABLE site can be upgraded to master (4.2dev) using PHP 8.1 E) Check that all CI jobs are passing ok with PHP 8.1.


      (image taken near completion, now php81 is being tested everywhere, GHA, CIs... so no need for those custom tests and branches anymore)

      The, hopefully small, epic to turn Moodle ready for PHP 8.1.

      When: Being cristal clear (aka transparent), the ideal target release for this is Moodle 4.1.0 (aka, supported since the very beginning of the branch), but be warned that full support may arrive later in any Moodle 4.1.x minor release in the branch, depending of a number of factors (extensions availability and bugs, 3rd part libraries, last minute surprises...).

      Some initial links:

      Some basic requirements for this:

      • get unit and acceptance tests passing against all databases (may imply the need of upgrading phpunit/behat...).
        • phpunit upgrade: MDL-75776 (just small updates to 9.5.x)
        • behat upgrade: MDL-75776 (just small updates to 3.11.x, and moving to upstream mink-extension).
      • check all the changes details have been reviewed and fixed (attached file php81-progress.rtf ). Note that, until release, this file is considered WIP and subject to changes!
      • ensure older versions of Moodle don't work with PHP 8.1 (MDL-73017)
      • get moodle-php-apache docker images working with the new php version
      • verify that php-parallel-lint/php-parallel-lint and others pass for all php versions (MDL-73406)
      • search in the tracker for any issue created about "php 8.1" or "php81". Add them to this epic after analysing them.
      • FINAL: verify that the apache logs are clean of PHP 8.1 notices/warnings/errors (MDL-73019)
      • FINAL: verify that all the issues found by the dev version of PHPCompatibility are fixed or false positives (MDL-73587).
      • FINAL: When CIs are passing consistently, put all the MySQL (W) jobs in the target branches of the Epic to, manually, use the new PHP version (note that later, in the TODOs, we'll undo this manual configuration).
      • FINAL: get travis and gha working with the new php version (MDL-73018)
      • FINAL: Verify that both install and upgrade from lowest possible site works ok, without any error/warning/notice. Both cli and web.
      • FINAL: Update docs (and others, see testing instructions) once this is ready. (PR#566)
      • ...

      And some tasks to do once this is upstream:

      TODO 1: Review the travis and/or github actions configuration for various repositories. The new PHP version needs to be covered. Known to need review / fix repos include:

      All the issues belonging to this epic should be pulled into master and MOODLE_401_STABLE (unless they are bug fixes requiring patching older, still supported, branches)

        1. array_ops_on_object_check.rtf
          90 kB
        2. php81-progress.rtf
          32 kB
        3. phpsupport.png
          phpsupport.png
          96 kB
        4. taken_on_near_completion.png
          taken_on_near_completion.png
          25 kB

            stronk7 Eloy Lafuente (stronk7)
            stronk7 Eloy Lafuente (stronk7)
            Votes:
            35 Vote for this issue
            Watchers:
            45 Start watching this issue

              Created:
              Updated:
              Resolved:

                Error rendering 'clockify-timesheets-time-tracking-reports:timer-sidebar'. Please contact your Jira administrators.