Table des matières

PHP : un langage de programmation libre

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

  1. Installez php :

    ...@...:~$ sudo apt install php

  2. Repérez la version de php :

    ...@...:~$ php -v
    PHP 7.4.3 (cli) ...

    Ici, la version de php installée est 7.4. Mettez-la en variable :

    ...@...:~ $ __=$(php  -v);phpver=php${__:4:3};echo $phpver
    php7.4

  3. Installez les modules de php :

    ...@...:~$ sudo apt install $phpver-{fpm,gd,curl,intl,xmlrpc,mbstring,mysql,sqlite,xml,zip}

  4. Selon vos besoins, installez

    ...@...:~$ 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}

    FIXME php-pcov et php-psr introuvables

  5. Démarrez le service fpm :

    ...@...:~ $ sudo systemctl restart php7.4-fpm.service

  6. Repérez le socket d’écoute de php-fpm :

    ...@...:~ $ 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

  7. Vérifiez votre installation de PHP FPM :

    ...@...:~ $ 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
    ...

  8. Redémarrez le module php-fpm pour valider la configuration :

    ...@...:~ $ sudo systemctl restart php7.4-fpm.service

Configuration

Configuration de l'envoi d'email par PHP

  1. Installez le paquet exim4-config ou en ligne de commande :

    ...@...:~$ sudo apt install exim4-config

  2. Lancez la configuration :

    ...@...:~ $ sudo dpkg-reconfigure exim4-config

    1. Acceptez la première page (Tab ⇆ puis ↵ Entrée)
    2. 2e page : sélectionnez Envoi par relais (« smarthost ») — réception SMTP ou … puis <Ok>.
    3. 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
    4. 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.

Utilisation

Désinstallation

Voir aussi


Basé sur « Manuel PHP » par php.net.