Commandes dans le terminal
Voir le status de PHP
systemctl status php7.3-fpm
Tester la configuration
apachectl -t ou sudo apachectl configtest
Redémarer PHP
systemctl restart php7.4-fpm.service
Version de PHP
php -v
Configuration php.ini
Rechercher le fichier php.ini
sudo find / -name php.ini
cd /etc/php/7.2/apache2
sudo vim php.ini
Modifier la taile maxi en upload
upload_max_filesize = 200M
Modifier la taile memory_limit
memory_limit = 1024M
Modifier la taile post_max_size
post_max_size = 100M
Redemarer apache pour que les paramètres soient pris en compte
sudo service apache2 restart
Module mod_rewrite
L’URL Rewriting est une méthode de réécriture des URLs devenue indispensable pour la simplification des URLs notamment lors du référencement des pages dynamiques. L’url Rewriting est également très utile pour le référencement naturel (SEO).
Le module mod_rewrite de Apache est habituellement présent à l’installation d’Apache
vérifier l’existence du fichier "mod_rewrite.so"
ls -l /usr/lib/apache2/modules/
Activer le module
sudo a2enmod rewrite
indiquer au serveur Apache d’utiliser le module en modifiant RewriteEngine :
vim /etc/apache2/apache2.conf
Ajouter ce bout de configuration en fin de fichier et sauvegarder :
<ifModule mod_rewrite.c>
RewriteEngine On
</ifModule>
relancer le serveur apache
sudo service apache2 reload
https://community.jaguar-network.com/utilisation-du-module-mod_rewrite-de-apache/
Modules php
Lister les modules installés
php7.4 -m
Rechercher un module
php -m | grep -i nom_du_module
Installer un module
sudo apt install php7.4-nom_du_module
Installer plusieurs modules
sudo apt install php7.4-{common,mysql,xml,xmlrpc,curl,gd,i,soap,zip,intl} -y
Plusieurs versions de PHP avec Apache
PHP-FPM utilise un démon pour gérer plusieurs versions PHP sur une seule instance. Vous pouvez utiliser ensemble Apache et PHP-FPM pour héberger plusieurs applications Web PHP, chacune utilisant une version différente de PHP, toutes sur le même serveur, et toutes en même temps.
activer plusieurs modules pour que votre service Apache2 puisse fonctionner avec plusieurs versions PHP :
sudo a2enmod actions fcgid alias proxy_fcgiInstaller la version de PHP-FPM
sudo apt-get install php7.4-fpm
sudo apt-get install php8.3-curl php8.3-gd php8.3-zip php8.3-pdo php8.3-intl php8.3-soap php8.3-mysql php8.3-mbstring php8.3-xml php8.3-ssh2 php8.3-amqpActiver
sudo a2enconf php7.4-fpm
Créer un Pool PHP-FPM
sudo vim /etc/php/7.4/fpm/pool.d/www.conf
# Listen on localhost port 9xxx
Listen = 127.0.0.1:9xxx
# Ensure only localhost can connect to PHP-FPM
listen.allowed_clients = 127.0.0.1Redemarer php-fpm
sudo systemctl restart phpx.x-fpm.serviceParamétrer le Pool dans le Vhost du site
vim /etc/apache2/sites-available domaine.conf
<FilesMatch \.php$>
SetHandler "proxy:fcgi://127.0.0.1:9xxx"
</FilesMatch>Redemarer le serveur Apache
sudo systemctl restart apache2
Version php par défaut
La version php par défaut se trouve dans /etc/apache2/mods-enabled
Switch from PHP5.x to PHP7.x
sudo a2enmod php7.2
sudo a2dismod php5.6
sudo update-alternatives --set php /usr/bin/php7.2
sudo systemctl restart apache2Passez à une version spécifique et connue
update-alternatives --set php /usr/bin/php{VERSION}
Revenir à la version par défaut (version avec la plus haute priorité)
update-alternatives --auto php
Liste des versions disponibles
update-alternatives --list php
Choisissez interactivement une version lorsque vous n'êtes pas sûr de ce qui est disponible
update-alternatives --config php