Skip to main content

PHP

New PHP versions are released every year and come with important improvements and changes compared with previous versions. Moodle tries to support them as soon as possible, always matching them with our own scheduled release plans.

Policy statement

Since 3.5

We always follow this agreed policy regarding PHP and Moodle supported versions:

  1. A LTS will always require the previous LTS (or later) for upgrading.
  2. The maximum PHP version supported for a branch will be the max one achieved along the life of the branch. Usually with .0 releases but may happen later (we added support for php74 with 3.8.3, or support for php80 with 3.11.8, for example).
  3. The minimum PHP version supported for a branch will be the lower of:
    • The minimum version supported in any way by php the day of the Moodle release (so we provide slow, progressive increments).
    • The maximum PHP version supported by the previous LTS branch (so we guarantee jumping between LTS is possible without upgrading PHP at the same time).
PHP and Moodle policy in Jira wiki markup format.
{panel:title=Policy: PHP & Moodle supported versions|borderStyle=dashed|borderColor=#cccccc|titleBGColor=#f7d6c1|bgColor=#ffffce}
Since Moodle 3.5 (MDL-59159), these rules apply to decide Minimum PHP and Moodle versions supported:
# A LTS will always require the previous LTS (or later) for upgrading.
# The maximum PHP version supported for a branch will be the max one achieved along the life of the branch. Usually with .0 releases but may happen later (we added support for php70 with 3.0.1, or support for php73 with 3.6.4, for example).
# The minimum PHP version supported for a branch will be *the lower of*:
-- The [minimum version supported in any way by php|http://php.net/supported-versions.php] the day of the Moodle release (so we provide slow, progressive increments).
-- The maximum PHP version supported by the previous LTS branch (so we guarantee jumping between LTS is possible without upgrading PHP at the same time).{panel}

This page contains the current status of support for every PHP version and Moodle versions. For details, follow also the epic links below that combine all the changes that were made in Moodle to ensure PHP compatibility.

note

You must be logged in to tracker to see issues in Epics.

PHP supported versions

PHP 8.0

Since 3.11.8
Since 4.0.2

PHP 8.0 can be used with Moodle 3.11.8, Moodle 4.0.2 and later releases. See MDL-70745 for details.

PHP 7.4

Since 3.8.3
Since 3.9

PHP 7.4 can be used with Moodle 3.8.3, Moodle 3.9 and later releases. It is also the minimum supported version for Moodle 4.1. See MDL-66260 for details.

PHP 7.3

Since 3.6.4
Since 3.7

PHP 7.3 can be used with Moodle 3.6.4, Moodle 3.7 and later releases. It is also the minimum supported version for Moodle 3.11. See MDL-63420 for details.

PHP 7.2

Since 3.4

PHP 7.2 can be used with Moodle 3.4 and later releases. It is also the minimum supported version for Moodle 3.9. See MDL-60279 for details.

PHP 7.1

Since 3.2

PHP 7.1 can be used with Moodle 3.2 and later releases. It is also the minimum supported version for Moodle 3.7. See MDL-55120 for details.

PHP 7.0

Since 3.0.1
Since 3.1

PHP 7.0 can be used with Moodle 3.0.1, Moodle 3.1 and later releases. It is also the minimum supported version for Moodle 3.4. See Moodle and PHP 7.0 details and MDL-50565 for details.

PHP versions under development

PHP 8.1

PHP 8.1 support is being implemented for Moodle 4.1 and later releases. Hence it's still incomplete and only for development purposes. See MDL-73016 for details.

PHP 8.2

PHP 8.2 support is currently being implemented. We hope to make this available for Moodle 4.2 but this has not yet been confirmed and is subject to change. See MDL-76405 for details.

PHP 8.3

PHP 8.3 support is currently being implemented. We hope to make this available for Moodle 4.4 but this has not yet been confirmed and is subject to change. See MDL-76426 for details.

See also

  • Releases - For details about all the Moodle releases.