- [남군]빛고을총각
- 0
- 58
- 0
- 0
- 2022-05-10 15:50:50
- 관련링크
- https://www.linuxcapable.com/how-to-install-php-8-1-on-rocky-linux-8/ 0
- 제목 : rocky linux 8.5 install php 8
Home - Rocky Linux 8 - Install/Upgrade PHP 8.1 on Rocky Linux 8
Install/Upgrade PHP 8.1 on Rocky Linux 8
Last Updated on: Sunday, February 20, 2022 by Joshua James
PHP 8.1 is a significant update of the PHP language released on November 25, 2021. This is a standard upgrade in the future from the existing PHP 8.0 release. The new PHP 8.1 brings enums, fibers, never return type, final class constants, intersection types, and read-only properties amongst the long list of new features and changes.
In the following tutorial, you will learn how to import the REMI Module and install PHP 8.1 on your Rocky Linux system.
Update Rocky Linux System
Update your Rocky Linux operating system to make sure all existing packages are up to date:
Click To Copy!
sudo dnf upgrade --refresh -y
Install/Import PHP 8.1 Remi Repository
Currently, PHP 8.1 is not featured in Rocky Linux’s AppStream, given it’s still relatively new and hasn’t filtered down the chain in RHEL’s repositories yet. However, you can install PHP from (Remi) repository, a free-to-use third-party repository that deploys the latest PHP 8.1 builds.
The first task is to install the (EPEL) repository, which stands for (Extra Packages for Enterprise Linux). For newer users to Rhel and Rocky Linux, EPEL contains the most commonly used software packages for Enterprise Linux.
To install EPEL, use the following (dnf) terminal command:
Click To Copy!
sudo dnf install epel-release
Example output:
Type “Y,” then press the “ENTER KEY” to proceed with the installation.
Now that you have added the EPEL repository, enable (Remi repository) with the following:
Click To Copy!
sudo dnf install dnf-utils http://rpms.remirepo.net/enterprise/remi-release-8.rpm
Example output:
Type “Y,” then press the “ENTER KEY” to proceed with the installation.
Next, use the (dnf) command to update your repository list:
Click To Copy!
sudo dnf update
You will notice a query in your terminal about importing the (GPG key) for the Remi repository.
Example:
Type “Y,” then press the “ENTER KEY” to import the GPG key and complete the installation.
Note, you will be prompt x2 more times to type “Y” to import more GPG keys. This is fine to do.
Situational – Remove Existing PHP Installation
For users wanting to install PHP 8.1 but have already installed PHP or PHP-FPM, remove the previous version. For example, remove PHP 8.0 for PHP 8.1.
Make sure to back up any configuration files.
Click To Copy!
sudo dnf remove php php-fpm -y
Then remove the rest of the package extensions.
Click To Copy!
sudo dnf remove php* -y
To reset the PHP module list is easy with the following command:
Click To Copy!
sudo dnf module list reset php -y
Now you can proceed to the next part of the tutorial.
Enable PHP 8.1 (Remi) Repository
PHP 7.2 is the default PHP choice for standard installation on Rhel/Rocky Linux with Remi’s repository. A quick tip is to use the (list php) command to see the options available and the default.
The following dnf module list command can do this:
Click To Copy!
sudo dnf module list php
You will get the following output as below. Note the (d) tag for default PHP to be installed:
As you can see above, the (d) tag is next to PHP 7.2, which you will need to reset and change to install PHP 8.1 on Rocky Linux.
Next, enable PHP 8.1 with the following command:
Click To Copy!
sudo dnf module enable php:remi-8.1
Example output:
Install PHP 8.1 on Rocky Linux
Now that you have added the Remi PHP repository and enabled PHP 8.1 to be the default version on your Rocky Linux system, you can install PHP 8.1 with the following command:
Apache (HTTPD) Users:
Click To Copy!
sudo dnf install php
Nginx Users:
Click To Copy!
sudo dnf install php-fpm
Example output:
Type “Y,” then press the “ENTER KEY” to proceed with the installation.
Note, you will be prompted for more GPG key imports.
If you would like to install the most commonly used extensions for PHP 8.1, use the following command:
Click To Copy!
sudo dnf install php-cli php-fpm php-curl php-mysqlnd php-gd php-opcache php-zip php-intl php-common php-bcmath php-imap php-imagick php-xmlrpc php-json php-readline php-memcached php-redis php-mbstring php-apcu php-xml php-dom php-redis php-memcached php-memcache
Note, remove the options you do not want this is optional. It is highly recommended to only install and keep what modules you require from a performance and security standard.
Example output:
Type “Y,” then press the “ENTER KEY” to proceed with the installation.
Lastly, use the following command for anyone interested in installing the development branch.
Click To Copy!
sudo dnf install php-devel -y
Now that you have installed PHP 8.1 and the extensions check the version with the following command:
Click To Copy!
php -v
Example output:
PHP-FPM Installations of PHP 8.1
Unlike PHP-FPM installations on Debian/Ubuntu that use the (www-data) user, this isn’t the case with RHEL family installations. By default on AlmaLinux, the PHP-FPM service is designed to be run (Apache) user, which is incorrect since we are using Nginx, and this needed to be corrected.
Firstly, open following (www.conf) configuration file:
Click To Copy!
sudo nano /etc/php-fpm.d/www.conf
Next, replace the (Apache) user and group with the (Nginx) user and group:
To save, press (CTRL+O) then exit (CTRL+X).
Now you will too reload or restart your PHP-FPM service:
Click To Copy!
sudo systemctl restart php-fpm
Nginx Configurement
The Nginx server block needs the following example below for Nginx to process the PHP files.
Below is an example of all server blocks that process PHP files that need the location ~ .php$ added.
Click To Copy!
location ~ \.php$ { try_files $uri =404; fastcgi_pass unix:/run/php-fpm/www.sock; fastcgi_index index.php; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; include fastcgi_params; }
Test Nginx to make sure you have no errors with the adjustments made with the code above; enter the following.
Click To Copy!
sudo nginx -t
Example output:
Click To Copy!
nginx: the configuration file /etc/nginx/nginx.conf syntax is ok nginx: configuration file /etc/nginx/nginx.conf test is successful
Restart Nginx service for installation to be complete.
Click To Copy!
sudo systemctl restart nginx
Comments and Conclusion
In the tutorial, you have learned how to install PHP 8.1 and configure how to use it with Apache and Nginx. PHP 8.1 is exciting. However, at the current moment, it is still coming out of beta and not considered stable, such as 8.0 or the old stable 7.4, so beware you may find that many of your favorite software like WordPress or Plugins/Themes for CMS software may conflict until developers can update.
Do some research, prepare, and have PHP 7.4 or 8.0 installed and ready to replace if anything goes wrong when making the switch. The stable versions such as 8.0 are still actively developed, and packages are pushed simultaneously along with the 8.1 packages.
- 첨부파일
- 댓글