Skip to main content

Updating Drupal from 8.7.10 to 8.8.x or 8.9.x has seen a significant change as it has now moved into 9.x.  It has integrated more with composer, and you can be caught by fatal errors occurring during the update process.  One of these errors for me was the php version.  

  • Site version as set through Plesk is PHP 7.3.12
  • Using ssh via Terminal the command
    • php -v
    • PHP 7.1.33 (cli) (built: Oct 25 2019 11:33:58) ( NTS )
  • Whereas, composer update was showing
    • Problem 1 - This package requires php >=7.0.8 but your PHP version (5.6.29) does not satisfy that requirement.
    • Problem 2 - typo3/phar-stream-wrapper v3.1.3 requires php ^7.0 -> your PHP version (5.6.29)

And on the list of errors went.

The reason composer was showing 5.6.29 is when I installed composer I had set the export path to 5.6.  Yep my bad, it should have been updated long ago.  The original export path that had been set was

export PATH=/opt/plesk/php/5.6/bin:$PATH;

Updating this call is what was required

export PATH=/opt/plesk/php/7.1/bin:$PATH;

The command composer update is now successful without PHP 5.6 errors

If required you might need to run a httpd restart

CentOS 6

service httpd restart

CentOS 7

sudo systemctl restart httpd.service

 

Composer version - locally I was running 1.4.1 and whereas remotely on the server 1.10.19.  If you want or need to update composer in the respective environment (local or remote) run 

composer self-update

For some reason, if you find this updated version creating issues for you, then you can go back to the previous version you had running with this command

composer self-update --rollback

I updated to the current version of composer being 2.0.8.

 

PHP 7.1 EOL an update... to 7.3 or 7.4?

When this article was first written, PHP 7.1 was okay to be using.  However, time for an update as PHP 7.1 has reached its end of life (EOL).  Actually it did so quite some time ago now... 1st December 2019.

Towards the start of this article, the Plesk version had been set to PHP 7.3.12.  Subsequently, the needs to reflect this state.  You might have guessed the path now becomes:

export PATH=/opt/plesk/php/7.3/bin:$PATH;

However, is this enough?

At the time of writing this update (March 2021), PHP 7.3 EOL is 6th December 2021.  Whereas, PHP 7.4 has an EOL of 28th November 2022.  Therefore, it would be better if you update to PHP 7.4.

export PATH=/opt/plesk/php/7.4/bin:$PATH;

Remember to update Plesk as well to be running off PHP 7.4.

As always test and check

php -v

​​​​​​​Output from the version call:

PHP 7.4.16 (cli) (built: Mar  5 2021 15:18:58) ( NTS )
Copyright (c) The PHP Group
Zend Engine v3.4.0, Copyright (c) Zend Technologies
    with the ionCube PHP Loader + ionCube24 v10.4.5, Copyright (c) 2002-2020, by ionCube Ltd.
    with Zend OPcache v7.4.16, Copyright (c), by Zend Technologies

Keep up to date with the PHP versions that are EOL and currently support on the PHP supported versions page.

Related articles

Andrew Fletcher07 May 2024
Understanding and resolving a Drupal render array error
Dealing with errors in Drupal development is a common occurrence, and understanding how to interpret and resolve them is essential for smooth development workflows. In this article, we'll delve into a specific error message related to render arrays in Drupal and discuss steps to diagnose and fix the...
Andrew Fletcher06 May 2024
Exploring historical memory usage monitoring with Sysstat
In the realm of system administration and monitoring, understanding memory usage trends is crucial for maintaining system health and performance. While tools like htop offer real-time insights into memory usage, they lack the capability to provide historical data. So, what if you need to analyze...
Andrew Fletcher05 May 2024
Best practices for configuring Twig debug settings in Drupal 10
Alright, picture this: you're knee-deep in Drupal 10 development, churning out code like a pro. But hold up, what's this? Twig debug mode is still on in production? Cue the headaches. Suddenly, your beautifully crafted HTML is drowning in unnecessary output, and innocent contact form responses are...