install php8
# Ondřej Surý, a Debian developer, maintains a repository that includes
# multiple PHP versions. To enable the repository , run:
sudo apt install software-properties-common
sudo add-apt-repository ppa:ondrej/php
# Installing PHP 8.0 with Apache
#If you’re using Apache as a web server,
#you can run PHP as an Apache module or PHP-FPM.
#Install PHP as Apache Module
#Installing PHP as an Apache module is a straightforward task:
sudo apt update
sudo apt install php8.0 libapache2-mod-php8.0
#Once the packages are installed,
#restart Apache for the PHP module to get loaded:
sudo systemctl restart apache2
#Configure Apache with PHP-FPM
#Php-FPM is a FastCGI process manager for PHP.
#Run the following command to install the necessary packages:
sudo apt update
sudo apt install php8.0-fpm libapache2-mod-fcgid
#By default PHP-FPM is not enabled in Apache. To enable it, run:
sudo a2enmod proxy_fcgi setenvif
sudo a2enconf php8.0-fpm
#To activate the changes, restart Apache:
systemctl restart apache2
#Installing PHP 8.0 with Nginx
#Nginx doesn’t have built-in support for processing PHP files.
#We’ll use PHP-FPM (“fastCGI process manager”) to handle the PHP files.
#Run the following commands to install PHP and PHP FPM packages:
sudo apt update
sudo apt install php8.0-fpm
#Once the installation is completed,
#the FPM service will start automatically.
#To check the status of the service, run
systemctl status php8.0-fpm
Output
● php8.0-fpm.service - The PHP 8.0 FastCGI Process Manager
Loaded: loaded (/lib/systemd/system/php8.0-fpm.service; enabled; vendor preset: enabled)
Active: active (running) since Thu 2020-12-03 16:10:47 UTC; 6s ago
#You can now edit the Nginx server block
#and add the following lines so that Nginx can process PHP files:
server {
# . . . other code
location ~ \.php$ {
include snippets/fastcgi-php.conf;
fastcgi_pass unix:/run/php/php8.0-fpm.sock;
}
#Do not forget to restart the Nginx service so that the new
#configuration takes effect:
sudo systemctl restart nginx
#Installing PHP extensions
#PHP extensions are compiled libraries that extend the core functionality
#of PHP. Extensions are available as packages and can be easily
#installed with apt :
sudo apt install php8.0-[extname]
#For example, to install MySQL and GD extensions,
#you would run the following command:
sudo apt install php8.0-mysql php8.0-gd
#After installing a new PHP extension,
#do not forget to restart Apache or PHP FPM service,
#depending on your setup.
#Testing PHP Processing
#To test whether the web server is configured properly for PHP processing,
#create a new file named info.php inside the /var/www/html directory
#with the following code:
<?php
phpinfo();
#Save the file, open your browser, and visit:
#http://your_server_ip/info.php.
#Conclusion
#Installing PHP 8 on Ubuntu 20.04 server is a simple task.
#All you need to do is to enable the “ondrej/php” repository
#and install PHP 8 with apt.