International ILIAS Blog
ILIAS and PHP7: Transition is making great progress
One of the greatest challenges in the development of ILIAS 5.2 is – as reported – the conversion to PHP7. This requires us to go through and update the whole source code. Additionally, a whole number of external libraries need to be replaced. We talked to Fabian Schmid, who as a member of the Technical Board is coordinating the work, about the current state of the conversion.

Fortunately circa 80-85% of the conversion has already been completed. Straight after the last ILIAS DevConf, the developers decided that they would regularly communicate and exchange information via teleconference. This format, in combination with the regular 'Jour Fixe' meetings, has proved highly effective: questions are able to be answered quickly and problems tackled as a team. This mutual support has really sped up the transition.
This means that the last large building site is the login. According to Stefan Meyer, the first maintainer of the components Login, Auth & Registration, large problems are no longer to be expected. The regular teleconferences have therefore been discontinued according to Schmid: 'Apart from the login, there are only non-critical elements missing now. In our opinion therefore, the release date at the end of the year is not threatened.'
A large part of the conversion was, in the end, laborious work that required careful concentration: the whole code had to be gone through in order to remove or update the parts that are no longer compatible with PHP7. Thanks to the close cooperation between all of the maintainers, it was possible to partly automate this process. The most difficult part was the restructuring of the database-layer: As the database plays as central role whenever ILIAS is used, all of its components were affected by the update.
The hope was that the transition to PHP7 would improve performance. Especially the changes to the database layer should, alongside the PHP7 itself, contribute to this improvement. Although we don't have any reliable data at this early stage, the first local performance tests conducted by Fabian Schmid have been very promising: 'The pages load more quickly than they used to. The change from PHP5 to PHP7 is entirely noticeable.' Additionally less memory is now used than previously.
Another positive side effect of the transition was the updating of the external program libraries. These are used by the maintainers to, for example, with little effort, generate PDFs, offer a calendar function or to make the contents of the database at all visible for users. Most of these libraries have now been updated, and some replaced or completely removed from the code and replaced with in-house developments. It is this sort of 'house keeping' that makes software for ILIAS future proof and stable in the long term.
For the users of ILIAS all these changes should only have positive repercussions. Users of PHP7 can look forward to the performance gains, but also PHP5 users will be able to continue working with ILIAS. ILIAS 5.2 will run on both PHP versions. The minimum requirement of PHP 5.3 (for ILIAS 5.0 and 5.1) has now risen to PHP 5.5 however.
Looking to the future, Schmid suggests that ILIAS will henceforth better keep pace with PHP developments. The aim is to only support the two newest PHP versions. This will, of course, require users to update their servers regularly, but is also the only way to be able to use new PHP features and therefore make ILIAS even better. With the users of PHP5 in mind, no new features of PHP7 have been implemented yet. The relevant sections have already been marked in the code, however, in order to be able to profit from the new possibilities in ILIAS 5.3 or 5.4.
First, however, we can look forward to a quicker, slimmed-down and less memory-hungry ILIAS 5.2 – which will of course include new features itself. More on that in due time – of course here in the blog too!