Web20 University

How To Upgrade PHP 7.4 to 8

Upgrading PHP from version 7.4 to 8.0 on your system requires several steps. I’ll provide a general overview for upgrading on an Ubuntu/Debian-based system, but keep in mind that the process may vary depending on your specific setup, web server (Apache, Nginx, etc.), and package manager.

  • Backup your data and configuration: Before upgrading, it’s crucial to back up your web applications, databases, and PHP configuration files. This way, you can revert to the previous state if you encounter issues during the upgrade process.
  • Check for compatibility: Review the PHP 8.0 migration guide and changelog to understand the differences between PHP 7.4 and 8.0. Some changes, such as deprecated functions or new language features, may require you to update your code before upgrading.
  • Install PHP 8.0: On an Ubuntu/Debian-based system, you can install PHP 8.0 using the following commands:
sudo apt-get update
sudo apt-get install software-properties-common
sudo add-apt-repository ppa:ondrej/php
sudo apt-get update
sudo apt-get install php8.0

These commands update your package list, add the Ondřej Surý PPA repository (which provides the latest PHP versions), and install PHP 8.0.

Install necessary extensions

Make a list of the PHP extensions you were using with PHP 7.4, and install the corresponding PHP 8.0 versions. You can install extensions using the following pattern:

sudo apt-get install php8.0-[extension_name]

For example, if you were using the mbstring extension, you would run:

sudo apt-get install php8.0-mbstring

## Switch to PHP 8.0:

For Apache web server, run:

sudo a2dismod php7.4
sudo a2enmod php8.0
sudo systemctl restart apache2

These commands disable the PHP 7.4 module, enable the PHP 8.0 module, and restart Apache to apply the changes.

For Nginx with PHP-FPM, edit the configuration file (usually /etc/nginx/sites-available/default or the specific configuration file for your website) and update the fastcgi_pass directive to point to the PHP 8.0 FPM socket:

fastcgi_pass unix:/var/run/php/php8.0-fpm.sock;

After updating the configuration, restart Nginx and PHP-FPM:

sudo systemctl restart nginx
sudo systemctl restart php8.0-fpm

Update your php.ini configuration: If you made any customizations to your php.ini file for PHP 7.4, review and apply those changes to the PHP 8.0 php.ini file. The location of the file depends on your setup and might be in /etc/php/8.0/apache2/php.ini, /etc/php/8.0/fpm/php.ini, or /etc/php/8.0/cli/php.ini.

Test your web applications: After upgrading, thoroughly test your web applications to ensure they function correctly with PHP 8.0. If you encounter any issues, refer to the PHP 8.0 migration guide or your application’s documentation for guidance on resolving compatibility issues.

Remember that the upgrade process may vary depending on your specific setup and system, so consult your system’s documentation or web server