Drupal 11 dependencies
Drupal 11 has just been released, and its dependencies lead us to review some components of our development and deployment processes.
More details on Drupal 11 dependencies here.
PHP 8.3
It is now required to use PHP 8.3 to run the web server, but also to run Composer.
Development
Fortunately, MAMP 7.0 arrived just in time with the right versions, despite some necessary corrections to the default values delivered with the application.
It is also required to update the version of PHP that composer uses. For my part, I use the PHP binary delivered with MAMP, by adding these lines to my ~/.zshenv
file:
# PHP
export MAMP_PHP=/Applications/MAMP/bin/php/php8.3.8/bin
export PATH=$PATH:$MAMP_PHP
Production
Plesk 18 has allowed us to install and select PHP 8.3 for quite a while now, so no worries there. On the other hand, you also need to update the version of PHP which is used with Composer in the Deploy actions of the Git repositories.
/opt/plesk/php/8.3/bin/php /usr/lib64/plesk-9.0/composer.phar install -v > composer.log 2>&1
MySQL 8 (or MariaDB 10.6)
MySQL version is also increased.
Development
Again, MAMP 7.0 comes with a suitable version and allows us to move between versions of MySQL. Be careful though, the databases will not be migrated automatically and they will have to be re-imported into the MySQL 8 server. The databases will therefore be duplicated in the two servers (and will not be synchronized).
Production
The MariaDB server that we use on Plesk will also need to be updated. This is an update with some risk, and Plesk is currently working on finalizing a tool that will allow us to update without problems. In all cases, you will need to make an adequate backup before proceeding.
The update tool is not enabled by default at this time. I had the opportunity to test it on a server with CentOS 7 and the update was successful. I'm postponing doing this on our main server to allow Plesk to fix any issues they might find in the meantime.
So this is the only systems dependency that is not yet completely resolved on our side.
Here are more details about the Plesk update tool.
How to update from Drupal 10 to Drupal 11
Once all installed modules are compatible with Drupal 11, run the following commands:
composer require 'drupal/core-recommended:^11' 'drupal/core-composer-scaffold:^11' 'drupal/core-project-message:^11' --no-update
composer require 'drupal/core-dev:^11' --dev --no-update
composer remove drupal/core --no-update
composer update