Note:

If you want to create a new page for developers, you should create it on the Moodle Developer Resource site.

Moodle and PHP: Difference between revisions

From MoodleDocs
(Added link to PHP 8.0 epic and warn about its use)
(Update migration status and path)
 
(7 intermediate revisions by 3 users not shown)
Line 1: Line 1:
PHP7 was released on 3 December 2015 and has significant performance improvement comparing to PHP5. Everybody wants to benefit from it, however the language standards have changed and code written for PHP5 might not work in PHP7. Moodle core and plugins should modify the code so it works the same way on both versions of PHP.
{{Template:Migrated|newDocId=/general/development/policies/php}}
New PHP versions are [https://www.php.net/supported-versions.php 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 [https://docs.moodle.org/dev/Releases#Version_support scheduled release plans].


This page contains description of what has been changed in Moodle to make it work on PHP7 and recommendations to plugin developers. Please see also epic issues 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)''
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)''


MDL-50565 - '''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]] for details.
MDL-50565 - '''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]] for details.
Line 9: Line 10:
MDL-60279 - '''PHP 7.2 can be used with Moodle 3.4 and later releases.''' It is also the '''minimum''' supported version for Moodle 3.9.
MDL-60279 - '''PHP 7.2 can be used with Moodle 3.4 and later releases.''' It is also the '''minimum''' supported version for Moodle 3.9.


MDL-63420 - '''PHP 7.3 can be used with Moodle 3.6.4, Moodle 3.7 and later releases.'''
MDL-63420 - '''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.


MDL-66260 - '''PHP 7.4 can be used with Moodle 3.8.3, Moodle 3.9 and later releases.'''
MDL-66260 - '''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.


MDL-70745 - '''PHP 8.0 support is being implemented for Moodle 3.11 and later releases. Hence it's still incomplete and only for development purposes'''
MDL-70745 - '''PHP 8.0 can be used with Moodle 3.11.8, Moodle 4.0.2 and later releases.'''


MDL-73016 - '''PHP 8.1 support is being implemented for Moodle 4.1 and later releases. Hence it's still incomplete and only for development purposes'''
[[fr:Moodle et PHP]]
[[fr:Moodle et PHP]]

Latest revision as of 02:20, 15 September 2022

Important:

This content of this page has been updated and migrated to the new Moodle Developer Resources. The information contained on the page should no longer be seen up-to-date.

Why not view this page on the new site and help us to migrate more content to the new site!

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.

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)

MDL-50565 - 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 for details.

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

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

MDL-63420 - 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.

MDL-66260 - 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.

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

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