Installez PHP 8.3 sur Rocky/AlmaLinux/CentOS 9|8
PHP est un excellent langage de programmation open source et polyvalent populaire dans le développement Web. PHP est connu pour alimenter les principales plateformes Web telles que WordPress et Joomla. Une façon de démarrer l’aventure PHP consiste à l’installer sur votre système local. Dans cet article, nous partageons le processus de configuration de PHP 8.3 sur Rocky/AlmaLinux/CentOS 9|8. Il existe de nombreuses ressources disponibles pour les personnes intéressées à apprendre PHP. Ceux-ci incluent des didacticiels de blog, de la documentation officielle, des forums publics et des milliers de projets open source.
Activer les référentiels Remi et EPEL
Au moment de la rédaction de cet article, PHP 8.3 est la version la plus récente. Les packages PHP 8.3 sont disponibles dans le référentiel RPM tiers de Remi. Nous allons l'ajouter à notre système.
### Rocky / AlmaLinux / CentOS 9 ###
sudo dnf -y install http://rpms.remirepo.net/enterprise/remi-release-9.rpm
### Rocky / AlmaLinux / CentOS 8 ###
sudo dnf -y install http://rpms.remirepo.net/enterprise/remi-release-8.rpm
Nous avons également besoin du référentiel EPEL comme dépendance.
### Rocky / AlmaLinux / CentOS 9 ###
sudo dnf -y install https://dl.fedoraproject.org/pub/epel/epel-release-latest-9.noarch.rpm
### Rocky / AlmaLinux / CentOS 8 ###
sudo dnf -y install https://dl.fedoraproject.org/pub/epel/epel-release-latest-8.noarch.rpm
Mettez à jour le cache dnf après avoir ajouté les deux référentiels.
sudo dnf makecache -y
Répertoriez les référentiels configurés sur le système.
$ sudo dnf repolist
repo id repo name
appstream CentOS Stream 9 - AppStream
baseos CentOS Stream 9 - BaseOS
epel Extra Packages for Enterprise Linux 9 - x86_64
epel-cisco-openh264 Extra Packages for Enterprise Linux 9 openh264 (From Cisco) - x86_64
epel-next Extra Packages for Enterprise Linux 9 - Next - x86_64
extras-common CentOS Stream 9 - Extras packages
remi-modular Remi's Modular repository for Enterprise Linux 9 - x86_64
remi-safe Safe Remi's RPM repository for Enterprise Linux 9 - x86_64
Réinitialisez le module PHP par défaut sur le système.
sudo dnf module reset php -y
Installez PHP 8.3 et ses extensions
Activer le module PHP 8.3 Remi
sudo dnf module -y install php:remi-8.3
Cela devrait se terminer dans quelques secondes.
Last metadata expiration check: 0:01:28 ago on Thu 08 Feb 2024 06:27:51 PM UTC.
Dependencies resolved.
======================================================================================================================================================================================================
Package Architecture Version Repository Size
======================================================================================================================================================================================================
Installing group/module packages:
php-cli x86_64 8.3.2-1.el9.remi remi-modular 5.5 M
php-common x86_64 8.3.2-1.el9.remi remi-modular 1.2 M
php-fpm x86_64 8.3.2-1.el9.remi remi-modular 1.9 M
php-mbstring x86_64 8.3.2-1.el9.remi remi-modular 577 k
php-xml x86_64 8.3.2-1.el9.remi remi-modular 220 k
Installing dependencies:
httpd-filesystem noarch 2.4.57-6.el9 appstream 13 k
libxslt x86_64 1.1.34-9.el9 appstream 243 k
oniguruma5php x86_64 6.9.9-1.el9.remi remi-safe 219 k
Installing weak dependencies:
nginx-filesystem noarch 1:1.22.1-2.el9 appstream 12 k
Installing module profiles:
php/common
Enabling module streams:
php remi-8.3
Transaction Summary
======================================================================================================================================================================================================
Install 9 Packages
Total download size: 9.9 M
Installed size: 55 M
Downloading Packages:
...
Installez le package php pour l'utilisation de la CLI et d'autres extensions clés.
sudo dnf -y install php php-{common,pear,cgi,curl,mbstring,gd,mysqlnd,gettext,bcmath,json,xml,fpm,intl,zip,imap}
Vérifiez la version actuelle de PHP pour confirmer que l'installation a réussi.
$ php --version
PHP 8.3.2 (cli) (built: Jan 16 2024 13:46:41) (NTS gcc x86_64)
Copyright (c) The PHP Group
Zend Engine v4.3.2, Copyright (c) Zend Technologies
with Zend OPcache v8.3.2, Copyright (c), by Zend Technologies
Vous pouvez également exécuter les commandes suivantes pour afficher les modules actifs.
php --modules
Utiliser PHP avec Nginx ou Apache
Si vous utilisez des hôtes virtuels Nginx ou Apache, vous pouvez les configurer pour utiliser PHP.
1) Avec le serveur Web Nginx
Vous aurez besoin de PHP-FPM (FastCGI Process Manager) pour écouter les requêtes PHP entrantes et les exécuter.
sudo dnf install nginx php-fpm vim -y
Démarrez et activez les services.
$ sudo systemctl enable --now nginx php-fpm
Created symlink from /etc/systemd/system/multi-user.target.wants/nginx.service to /usr/lib/systemd/system/nginx.service.
Created symlink from /etc/systemd/system/multi-user.target.wants/php-fpm.service to /usr/lib/systemd/system/php-fpm.service.
Configurez PHP-FPM pour écouter sur un socket au lieu de l'IP et du port, et définissez d'autres configurations.
$ sudo vim /etc/php-fpm.d/www.conf
user = nginx
group = nginx
;listen = 127.0.0.1:9000
listen = /var/run/php-fpm.sock
listen.owner = nginx
listen.group = nginx
listen.mode = 0660
Redémarrez le service PHP FPM après avoir appliqué les modifications.
sudo systemctl restart php-fpm
Ajoutez le bloc suivant dans le bloc http
du fichier de configuration Nginx pour transmettre les requêtes PHP à PHP-FPM.
$ sudo vim /etc/nginx/nginx.conf
server {
listen 80;
server_name myapp.example.com;
root /var/www/myapp;
index index.php index.html;
location ~ \.php$ {
include /etc/nginx/fastcgi_params;
fastcgi_pass unix:/var/run/php-fpm.sock;
}
}
Vérifiez la syntaxe des configurations.
$ sudo nginx -t
nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
nginx: configuration file /etc/nginx/nginx.conf test is successful
2) Avec le serveur Web Apache
L'exécution du code PHP sur le serveur Web Apache se fait généralement via le module mod_php . Ceci est fourni avec Apache. Les modules effectuent le traitement du code PHP directement dans le processus Apache.
Si le package du serveur Apache httpd n'est pas installé, procédez comme ci-dessous.
sudo dnf -y install httpd php-fpm
Si Nginx est actif, désactivez-le ou modifiez l'adresse d'écoute de 80/443 vers un autre port.
sudo systemctl disable --now nginx
Maintenant, démarrez et activez le service httpd
.
sudo systemctl enable --now httpd php-fpm
Test de l'installation de PHP 8.3
Créez un fichier PHP de test dans le répertoire racine Web /var/www/html/ pour tester vos travaux PHP.
sudo echo "<?php phpinfo(); ?>" > /var/www/html/test.php
Accédez à la page de test PHP sur http://localhost_or_serverip/test.php.
Nous pouvons confirmer que PHP fonctionne comme prévu. Vous pouvez maintenant supprimer le script de test.
sudo rm -f /var/www/html/test.php
Voici une liste des meilleurs livres à lire sur PHP et les technologies Web.
- Meilleurs livres pour maîtriser la conception Web
- Meilleurs livres pour apprendre le développement Web – PHP, HTML, CSS, JavaScript et jQuery
- Meilleurs livres pour apprendre CSS et CSS3
- Meilleurs livres pour apprendre le HTML et le HTML5
- Meilleurs livres de référence Apache et Nginx
Pour des informations plus détaillées sur PHP, visitez la documentation php.net.