Categories: Just Sayin'

How to downgrade PHP 7.4 to PHP 7.3 on VestaCP running on CentOS 7

I installed VestaCP for a clien on a new dedicated server running CentOS 7. Once you get a server or VPS with CentOS 7 by default it has no PHP installed.

After you install VestaCP using their guide for some reason you’ll end up with PHP 7.4.0RC5.

$ php -v
PHP 7.4.0RC5 (cli) (built: Oct 29 2019 08:49:19) ( NTS )
Copyright (c) The PHP Group
Zend Engine v3.4.0-dev, Copyright (c) Zend Technologies

I didn’t like that first time I saw it and after I tried using it like that but the errors would just start popping all over the place. Even with software that VestaCP installed, like phpMyadmin:

phpMyAdmin errors running on VestaCP with PHP 7.4

There were also some errors with some WordPress themes and plugins and it was just not looking right and I wanted to back to stable version of PHP 7.3 but VestaCP doesn’t offer such thing out of the box, so the only way was to remove PHP 7.4 and install PHP 7.3 manually from command line.

Here are the lines you need to execute:

yum install yum-utils -y
yum-config-manager --disable remi-php5*
yum-config-manager --disable remi-php74
yum-config-manager --disable remi-test
yum-config-manager --enable remi-php73
yum remove php php-* -y
yum install roundcube phpmyadmin -y
service httpd restart

After this the you sould have PHP 7.3 up and running:

$ php -v
PHP 7.3.11 (cli) (built: Oct 22 2019 08:11:04) ( NTS )
Copyright (c) 1997-2018 The PHP Group
Zend Engine v3.3.11, Copyright (c) 1998-2018 Zend Technologies

But two other problems arise: phpMyAdmina and RoundCube wembail are not working:

phpMyAdmin not working on VestaCP

I went to check the config files at /etc/httpd/conf.d/ folder and I have noticed duplicate files for phpMyadmin and RoundCube: beside standard .conf files there were also .conf.rpmsave files (old ones).

So I removed these new ones (.conf) and renamed these old ones back to new ones restarted web server and everything was working again. Please make sure that you know what you’re doing here. Instead of deleting these two files you might want to just rename them or move them somewhere in case you’ll need them later. So have that in mind!

So, this is what I have done:

cd /etc/httpd/conf.d/
rm phpMyAdmin.conf
rm roundcubemail.conf
mv phpMyAdmin.conf.rpmsave phpMyAdmin.conf
mv roundcubemail.conf.rpmsave roundcubemail.conf
service httpd restart

BONUS: How to install OPCache and improve your php performance on VestaCP

OPcache improves PHP performance by storing precompiled script bytecode in shared memory, thereby removing the need for PHP to load and parse scripts on each request.

yum install php-opcache -y
service httpd restart

And now php -v confirms that OPCache is active and running:

$ php -v
PHP 7.3.11 (cli) (built: Oct 22 2019 08:11:04) ( NTS )
Copyright (c) 1997-2018 The PHP Group
Zend Engine v3.3.11, Copyright (c) 1998-2018 Zend Technologies
    with Zend OPcache v7.3.11, Copyright (c) 1999-2018, by Zend Technologies

View Comments

Share
Published by
Nick

Recent Posts

How to Manage Storage on Smartphone: 12 Ways

Can't download new apps to your phone because there isn't enough storage space? Lack of…

10 months ago

Spotlight Search won’t open the files it finds in Dropbox with associated application

This issue started to appear on macOS 13 Ventura after recent Dropbox update. I would…

1 year ago

Windows 10 Search fix

Since this morning (Feb 5th 2020) search just stopped working on my Windows 10 (version…

4 years ago

The mysql_result in mysqli

Many of you have run into a problem when you were working on some old…

4 years ago

How to convert physical Windows PC into a virtual machine

After 10 years of running my main desktop computer on Windows 7 - time has…

4 years ago

How to fix multi-line editing “Control + Shift + L” not working in Sublime

I use Sublime Text on both Windows and Mac and I love it. Recently I…

5 years ago