type
Post
status
Published
date
Nov 30, 2022
slug
summary
PHP 8.1 is the latest PHP version released on 2021. In this guide you are going to learn how to install the latest PHP version which is currently 8.1
tags
建站
PHP
category
技术分享
icon
password
Property
Feb 6, 2023 03:45 PM
Language
PHP 8.1 is the latest PHP version released on 2021. In this guide you are going to learn how to install the latest PHP version which is currently 8.1 on your Debian system or server and configure it with Apache and Nginx. You will also learn how to upgrade your PHP version to latest.
This tutorial guides you to configure PHP INI settings, FPM settings, Pools, etc which is more useful for your application to run smooth.
This installation is tested on Google Cloud Platform with a Compute Compute Engine VM Instance. This set up will work on all Linux servers.


Prerequisites
Basic knowledge of using SSH Terminal on Linux.
Getting Started
Make sure your Debian server is having the latest packages by running the following command.
sudo apt update
This will update the package index and update the installed packages to the latest version.
Download SURY PPA for PHP 8.1
Download the Sury PPA for PHP 8.1 package using
wget.sudo apt install -y lsb-release ca-certificates apt-transport-https software-properties-common gnupg2 sudo apt -y install lsb-release apt-transport-https ca-certificates wget
Once you have downloaded the PPA you can add it to the server packages.
sudo wget -O /etc/apt/trusted.gpg.d/php.gpg https://packages.sury.org/php/apt.gpg sudo sh -c 'echo "deb https://packages.sury.org/php/ $(lsb_release -sc) main" > /etc/apt/sources.list.d/php.list'
Now you can proceed the installation of PHP 8 by updating the system.
sudo apt update
Once you have added the Surry PPA you can install PHP 8.1.
Install PHP 8.1 for Apache
Execute the following command to install PHP 8.1
sudo apt install php8.1
After the installation has completed, you can confirm the installation using the following command
php -v
Install PHP 8.1 FPM for Nginx
For Nginx you need to install FPM. Execute the following command to install PHP 8.1 FPM
sudo apt install php8.1-fpm sudo apt install php8.1 php8.1-fpm php8.1-cli -y
After the installation has completed, confirm that PHP 8.1 FPM has installed correctly with this command
php-fpm8.1 -v
Install PHP 8.1 Extensions
Installing PHP extensions are simple with the following syntax.
sudo apt install php8.1-extension_name
Now, install some commonly used
php-extensions with the following command.sudo apt install php8.1-common php8.1-mysql php8.1-xml php8.1-xmlrpc php8.1-curl php8.1-gd php8.1-imagick php8.1-cli php8.1-dev php8.1-imap php8.1-mbstring php8.1-opcache php8.1-soap php8.1-zip php8.1-redis php8.1-intl -y
Configure PHP 8.1
Now we configure PHP for Web Applications by changing some values in
php.ini file.For PHP 8.1 with Apache the
php.ini location will be in following directory.sudo nano /etc/php/8.1/apache2/php.ini
For PHP 8.1 FPM with Nginx the
php.ini location will be in following directory.sudo nano /etc/php/8.1/fpm/php.ini
Hit
F6 for search inside the editor and update the following values for better performance.upload_max_filesize = 32M post_max_size = 48M memory_limit = 256M max_execution_time = 600 max_input_vars = 3000 max_input_time = 1000
Once you have modified your PHP settings you need to restart your Apache for the changes to take effect.
For users with Nginx to who use PHP-FPM, you need to restart PHP-FPM.
sudo service php8.1-fpm restart
Configure PHP 8.1 FPM Pools
PHP-FPM allows you to configure the
user and group that the service will run under. You can modify these with these commandssudo nano /etc/php/8.1/fpm/pool.d/www.conf
If you want to change the username name you can change the following lines by replacing the www-data with your
username.user = username group = username listen.owner = username listen.group = username
Hit
CTRL+X and Y to save the configuration and check if the configuration is correct and restart PHP.Restart PHP 8.1 FPM
Once you have updated your PHP FPM settings you need to restart it to apply the changes.
sudo php-fpm8.1 -t sudo service php8.1-fpm restart
Now you are having PHP 8.1 Installed and configured.
Prepare yourself for a role working as an Information Technology Professional with Linux operating system
Upgrade to PHP 8.1 for Apache
Once you have installed PHP 8.1 you need to upgrade to the latest installed version of PHP.
You need to tell Apache to use the PHP 8.1version we installed right now. Disable the old PHP module (below I have mentioned php7.4, you need to use your current php version used by Apache) and enable the new PHP module using the following command.
Replace the current enabled PHP version with your version.
sudo a2dismod php7.4 sudo a2enmod php8.1
Restart Apache for the changes to take effect.
sudo service apache2 restart
Upgrade PHP 8.1 for Nginx
For Nginx you need to update the PHP-FPM socket in your Nginx configration located inside the
sites-available directory. This will be located inside the location block location ~ .php$Edit your configuration…
sudo nano /etc/nginx/sites-available/your.conf
The line you need to modify will look like this…
fastcgi_pass unix:/run/php/php7.4-fpm.sock;
You need to replace the old PHP version with the new version.
fastcgi_pass unix:/run/php/php8.1-fpm.sock;
Test your configration.
sudo nginx -t
Save the file and exit the editor and restart Nginx for the changes to take effect.
sudo service nginx restart
php -r "copy('https://getcomposer.org/installer', 'composer-setup.php');"
php composer-setup.php php -r "unlink('composer-setup.php');" sudo mv composer.phar /usr/local/bin/composer composer -V
Conclusion
Now you have learned how to install PHP 8.1 on your Debian server for Apache and Nginx and also how to upgrade to latest version.
Thanks for your time. If you face any problem or any feedback, please leave a comment below.
- Author:Qi
- URL:https://blog.ltq.im/article/e2cdcc4f-78ce-43e9-9778-ef2883594fcf
- Copyright:All articles in this blog, except for special statements, adopt BY-NC-SA agreement. Please indicate the source!
Relate Posts