I’m using Virtualmin for the past 3 years. Recently I noticed some of my web applications requesting to change the PHP version to 7.1.
VERSIONS
ubuntu14.04
Webmin 1.900
Current PHP version: 7.0.3
PROBLEM
I installed PHP 7.1/7.2/7.3 following this tutorial (https://www.virtualmin.com/documentation/web/multiplephp).
Eg: codes to install PHP7.1 : sudo apt-get install php7.1 php7.1-cli php7.1-common php7.1-json php7.1-opcache
php7.1-mysql php7.1-mbstring php7.1-mcrypt php7.1-zip php7.1-fpm
Results of clicking “System Settings -> Re-Check Config” as follows The following PHP versions are available : 5.5.9 (/usr/bin/php5-cgi), 5.6.39 (/usr/bin/php-cgi5.6),
7.0.33 (/usr/bin/php-cgi7.0), 7.1.25 (/usr/bin/php7.1), 7.2.13 (/usr/bin/php7.2),
7.3.0 (/usr/bin/php7.3), 5.5 (mod_php)
I created a subdomain and created index.php file with phpinfo <?php phpinfo(); ?>
Phpinfo works fine with PHP 5.6 and PHP 7.0.3.
But when I change it to PHP 7.1 or above from “Server config -> PHP version”, it shows 500 internal server error.
APACHE ERROR LOG
With Maximum PHP script runtime: 30 Seconds
With FCGId: [fcgid:warn] [pid 16450] (104)Connection reset by peer: [client ...:2875]
mod_fcgid: error reading data from FastCGI server
[core:error] [pid 16895] [client ...:2876]
End of script output before headers: index.php
With CGI: [cgi:error] [pid 15079] [client ...:2873]
End of script output before headers: php7.1.cgi
I would really appreciate if someone helps me out to figure out my mistake.
Change the listen statement as appropriate. Use a port that fits in with whatever 5.6 and 7.0 are using (should be different ports).
;listen = /run/php/php7.3-fpm.sock
listen = localhost:8073
Restart phpX.X-fpm services.
Your apache/nginx config file for each site should reference the appropriate port for the PHP version you want to use.
Click System Settings -> Re-Check Config. You might see something like The following PHP versions are available : … 7.0.33 (/usr/bin/php-cgi7.0),
7.1.25 (/usr/bin/php7.1), 7.2.13 (/usr/bin/php7.2) …
.
Configure the PHP version being used for a specific Virtual Server by selecting Server Configuration -> PHP Versions.
Read this to expand your knowledge about what you are doing
PHP CGI: Common Gateway Interface: another way of running PHP (as opposed to an Apache module).
PHP CLI: Command Line Interface: As the name implies, this is a way of using PHP in the system command line.
PHP FPM: FastCGI Process Manager: is an alternative PHP FastCGI implementation with some additional features.
PHP mysql: Connect to and manipulate MySQL databases.
Personal Package Archives (‘PPAs’): are provided by the community. “ppa:ondrej/php” helps to install several versions of PHP.
Please point out any mistakes in feel free to suggest improvements.