Ceci est une ancienne révision du document !
Table des matières
PHP : un langage de programmation libre
Pour le Raspberry Pi, tout faire en ligne de commande via SSH.
Nginx utilise PHP-FMP (une version plus rapide de PHP) plutôt qu’un PHP plus traditionnel.
C'est pourquoi nous installons php-fpm pour gérer les fichiers PHP avec Nginx.
Pré-requis
Installation
- Installer php :
:~$ sudo apt install {php}
- Repérer la version de php et la mettre en variable (ici, la version de php installée est 7.4) :
:~$ php -v PHP 8.3.11 (cli) ... ... :~$ __=$(php -v) ; phpver=php${__:4:3} ; echo $phpver php8.3
- Installer les modules de php :
:~$ sudo apt install $phpver-{curl,fpm,gd,intl,mbstring,mysql,sqlite,xml,xmlrpc,zip}
- Selon les besoins, installer
:~$ sudo apt install lib$phpver-embed :~$ sudo apt install $phpver-{cgi,cli,common,dev,gmp,json,ldap,odbc,opcache,pgsql,pspell,readline,snmp,sqlite3,tidy,bcmath,bz2,dba,enchant,imap,interbase,phpdbg,soap,sybase,xsl} :~$ sudo apt install php-{gearman,geoip,gnupg,xdebug,amqp,apcu,apcu-bc,ds,gmagick,igbinary,imagick,lua,mailparse,memcache,memcached,mongodb,msgpack,oauth,pinba,propro} :~$ sudo apt install php-{ps,radius,raphf,redis,rrd,sass,solr,ssh2,stomp,tideways,uploadprogress,uuid,yaml,zmq,http}
php-pcov et php-psr introuvables
Le paquet php8.3-json est un paquet virtuel fourni par : php8.3-phpdbg 8.3.11-1+ubuntu24.04.1+deb.sury.org+1 php8.3-fpm 8.3.11-1+ubuntu24.04.1+deb.sury.org+1 php8.3-cli 8.3.11-1+ubuntu24.04.1+deb.sury.org+1 php8.3-cgi 8.3.11-1+ubuntu24.04.1+deb.sury.org+1 libphp8.3-embed 8.3.11-1+ubuntu24.04.1+deb.sury.org+1 libapache2-mod-php8.3 8.3.11-1+ubuntu24.04.1+deb.sury.org+1 Vous devez explicitement sélectionner un paquet à installer.
- Démarrez le service fpm :
USER@MACHINE:~$ sudo systemctl restart php7.4-fpm.service
- Repérez le socket d’écoute de php-fpm :
USER@MACHINE:~$ ls -l /var/run/php ... -rw-r--r-- 1 root root 5 sept. 7 18:42 php7.4-fpm.pid srw-rw---- 1 www-data www-data 0 sept. 7 18:42 php7.4-fpm.sock lrwxrwxrwx 1 root root 30 sept. 7 11:34 php-fpm.sock -> /etc/alternatives/php-fpm.sock
Ici, il faudra utiliser /var/run/php/php7.4-fpm.sock dans les fichiers de configuration de nginx
- Vérifiez votre installation de PHP FPM :
USER@MACHINE:~$ sudo systemctl status php7.4-fpm.service ● php7.4-fpm.service - The PHP 7.4 FastCGI Process Manager ... Active: active (running) since Mon 2020-09-07 18:42:26 CEST; 7min ago ...
- Redémarrez le module php-fpm pour valider la configuration :
USER@MACHINE:~$ sudo systemctl restart php7.4-fpm.service
Configuration
- Configuration de l'envoi d'email par PHP
- Installez exim4-config
USER@MACHINE:~$ sudo apt install {exim4-config}
- Lancez la configuration :
USER@MACHINE:~$ sudo dpkg-reconfigure exim4-config
- Acceptez la première page (Tab ⇆ puis ↵ Entrée)
- 2e page : sélectionnez Envoi par relais (« smarthost ») — réception SMTP ou … puis <Ok>.
- Acceptez les réglages par défaut sauf pour la page Nom réseau ou adresse IP du système « smarthost » : sur laquelle vous entrez l’adresse du serveur SMTP de votre fournisseur d’accès à internet
- Pour les autres options, laissez les paramètres par défaut proposés. Cela suffira pour activer l’envoi de mail avec PHP. Les e-mails envoyés avec la fonction mail() arriveront car le serveur local transmet la demande d’envoi au serveur de votre FAI.
Augmenter la taille d'upload- Éditez avec les droits d'administration le fichier /etc/php/8.1/fpm/pool.d/www.conf pour ajouter ceci à la fin :
- /etc/php/8.1/fpm/pool.d/www.conf
... php_admin_value[upload_max_filesize] = 1000M php_admin_value[memory_limit] = 10000M ;128M php_admin_value[post_max_size] = 1000M
- redémarrez le service PHP8.0
Utilisation
Désinstallation
Problèmes connus
Voir aussi