Forums | Mahara Community

Developers /
Mahara and PHP 8

Kristina Hoeppner's profile picture
Posts: 4409

02 February 2022, 15:51

Hi everyone,

Organisations are looking into upgrading their operating systems and that will inevitably bring PHP 8 along. I'd like to outline the approach of the Mahara team to achieve PHP 8 compatibility.

We are looking into a phased support for PHP 8.1. Due to the number of changes required to fully support PHP 8 and new ways of programming in PHP 8, yet at the same time keeping Mahara available for organisations that can't yet switch, we are in the process of making changes that can safely be done to support both PHP 7 and PHP 8. Support for PHP 8 will be minimal instead of taking advantage of all the new cool features.

We also depend on the third-party libraries to be PHP 8 ready. Our list indicates that for the most part that won't be a problem. However, there are especially two third-party components that are not PHP 8 ready:

  • OAuth 1 (used in LTI 1.1)
  • Elasticsearch

Changes to these will take longer. Therefore, organisations using these features shouldn't upgrade to PHP 8 until appropriate changes have been made. Also organisations using MNet should be careful about an upgrade to PHP 8 as the XML-RPC PHP plugin is not available directly any more in PHP 8 and will need to be compiled separately.</p

The Mahara team is working through problems we encounter with PHP 8 with the help of PHPStan, which provides good guidance on what should be changed. If you'd like to support these efforts, please get in touch so that work isn't doubled up.

We are already pushing changes for PHP 8 to the future version of Mahara 22.04, but will not have finished that work for the upcoming release in April. Therefore, we are looking into a transitional Mahara version with minimal PHP 8 support for Mahara 22.10, the October 2022 version, with additional changes in subsequent versions to reach full PHP 8 support.

That would mean that PHP 7 will not be supported any more once major changes are made to support PHP 8. This is similar to the change we made from PHP 5.x to PHP 7 a few years ago, though the changes between PHP 7 and PHP 8 are much more comprehensive and far-reaching.

We will have a better understanding of that timeline closer to the release of Mahara 22.10. If you have any questions, please let ask away.

Thank you

1 result