Recherche de site Web

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.

Articles connexes: