PHP-7.1.8
      
      
        
          Introduction à PHP
        
        
          PHP est le PHP Hypertext
          Preprocessor. Utilisé à l'origine sur des sites
          Internet dynamiques, il permet au code d'être directement embarqué
          dans la balise HTML. Il sert aussi de langage de script
          généraliste.
        
        
          Ce paquet est connu pour se construire correctement sur une
          plateforme LFS-8.0.
        
        
          Informations sur le paquet
        
        
          
            - 
              
                Téléchargement (HTTP) : http://www.php.net/distributions/php-7.1.8.tar.xz
              
             
            - 
              
                Téléchargement (FTP) : 
              
             
            - 
              
                Somme de contrôle MD5 du téléchargement :
                937dba5d7f12bca3c6864db52ea499e1
              
             
            - 
              
                Taille du téléchargement : 12 Mo
              
             
            - 
              
                Estimation de l'espace disque requis : 459 Mo (plus 2 Mo
                pour les tests)
              
             
            - 
              
                Estimation du temps de construction : 0.9 SBU (avec
                parallélisme = 4, plus 2.5 SBU pour les tests)
              
             
          
         
        
          Téléchargements supplémentaires
        
        
        
          Dépendances de PHP
        
        
          Recommandées
        
        
          Apache-2.4.27 et libxml2-2.9.4
        
        
          Outils et bibliothèques systèmes facultatifs
        
        
          Aspell-0.60.6.1, enchant-1.6.0, libxslt-1.1.29, un MTA
          (qui fournit la commande sendmail), PCRE-8.41, Pth-2.0.7, Dmalloc, Net-SNMP, OSSP mm, re2c et XMLRPC-EPI
        
        
          Outils et bibliothèques graphiques facultatifs
        
        
          FreeType-2.8, libexif-0.6.21, libjpeg-turbo-1.5.2, libpng-1.6.31,
          LibTIFF-4.0.8, Système X
          Window, FDF
          Toolkit, GD et
          t1lib
        
        
          Outils Internet facultatifs
        
        
          cURL-7.55.1, tidy-html5-5.4.0,
          Caudium, Hyperwave,
          mnoGoSearch, Roxen WebServer
          et WDDX
        
        
          Outils et bibliothèques de gestion de données facultatifs
        
        
          Berkeley DB-6.2.32 (Notez que PHP ne
          supporte pas officiellement les versions supérieures à 5.3),
          MariaDB-10.2.8 ou MySQL, OpenLDAP-2.4.45, PostgreSQL-9.6.4, SQLite-3.20.0,
          unixODBC-2.3.4, Adabas, Birdstep, cdb, DBMaker, Empress, FrontBase,
          Mini SQL, Monetra et QDBM
        
        
          PHP fournit aussi un support pour
          de nombreux outils commerciaux de base de données tels que
          Oracle, SAP et ODBC
          Router.
        
        
          Outils et bibliothèques de sécurité/chiffrement Facultatifs
        
        
          OpenSSL-1.1.0f, Cyrus
          SASL-2.1.26, MIT Kerberos V5-1.15.1,
          libmcrypt et mhash
        
        
          Notes utilisateur : http://wiki.linuxfromscratch.org/blfs/wiki/php
        
       
      
        
          Installation de PHP
        
        
          Vous pouvez utiliser PHP pour
          faire des scripts côté serveur, des scripts en ligne de commande ou
          des applications graphiques côté client. Ce livre fournit des
          instructions pour paramétrer PHP
          pour faire des scripts côté serveur car c'est sa forme la plus
          courante
        
        
          
          
            Note
          
          
            PHP dispose de beaucoup plus
            d'options configure
            qui activeront le support de divers éléments. Vous pouvez
            utiliser ./configure
            --help pour voir une liste complète des options
            disponibles. En outre, l'utilisation du site Internet de PHP est fortement
            recommandée vu que leur documentation en ligne sont très bonnes.
            Vous pouvez trouver un exemple d'une commande configure qui utilise beaucoup
            d'éléments parmi les dépendances les plus courantes sur 
            http://anduin.linuxfromscratch.org/BLFS/files/php_configure.txt.
          
          
            Si, pour une raison quelconque, vous n'avez pas installé
            libxml2-2.9.4, vous devez ajouter
            --disable-libxml à la commande
            configure dans les
            instructions ci-dessous. Remarquez que cela empêchera la commande
            pear d'être
            construite.
          
         
        
          Installez PHP en lançant les
          commandes suivantes :
        
        ./configure --prefix=/usr                \
            --sysconfdir=/etc            \
            --localstatedir=/var         \
            --datadir=/usr/share/php     \
            --mandir=/usr/share/man      \
            --enable-fpm                 \
            --with-fpm-user=apache       \
            --with-fpm-group=apache      \
            --with-fpm-systemd           \
            --with-config-file-path=/etc \
            --with-zlib                  \
            --enable-bcmath              \
            --with-bz2                   \
            --enable-calendar            \
            --enable-dba=shared          \
            --with-gdbm                  \
            --with-gmp                   \
            --enable-ftp                 \
            --with-gettext               \
            --enable-mbstring            \
            --with-readline              &&
make
        
          Pour tester les résultats lancez : make test. A few tests may fail,
          in which case you are asked whether you want to send the report to
          the PHP developers. If you want to automate the test, you may
          prefix the command with yes "n"
          | .
        
        
          Maintenant, en tant qu'utilisateur root :
        
        
make install                                     &&
install -v -m644 php.ini-production /etc/php.ini &&
install -v -m755 -d /usr/share/doc/php-7.1.8 &&
install -v -m644    CODING_STANDARDS EXTENSIONS INSTALL NEWS README* UPGRADING* php.gif \
                    /usr/share/doc/php-7.1.8 &&
ln -v -sfn          /usr/lib/php/doc/Archive_Tar/docs/Archive_Tar.txt \
                    /usr/share/doc/php-7.1.8 &&
ln -v -sfn          /usr/lib/php/doc/Structures_Graph/docs \
                    /usr/share/doc/php-7.1.8
        
          Les fichiers de configurations par défaut pour le gestionnaire de
          processus fastCGI sont installés seulement s'ils n'existaient pas
          déjà sur le système. Si c'est la première installation, ils doivent
          être renommés, en tant qu'utilisateur root :
        
        if [ -f /etc/php-fpm.conf.default ]; then
  mv -v /etc/php-fpm.conf{.default,} &&
  mv -v /etc/php-fpm.d/www.conf{.default,}
fi
        
          La documentation HTML pré-compilée est emballée sous deux
          formes : une archive tar contenant beaucoup de fichiers
          individuels, utiles pour être chargés rapidement dans votre
          navigateur, et un gros fichier individuel, qui est utile pour une
          utilisation de l'outil de recherche de votre navigateur. Si vous
          avez téléchargé un des deux ou les deux fichiers de documentation,
          exécutez les commandes suivantes en tant qu'utilisateur
          root pour les installer (remarquez
          que ces instructions supposent des docs en anglais, modifiez le nom
          des archives tar ci-dessous si nécessaire).
        
        
          Pour le fichier « HTML
          unique » :
        
        install -v -m644 ../php_manual_en.html.gz \
    /usr/share/doc/php-7.1.8 &&
gunzip -v /usr/share/doc/php-7.1.8/php_manual_en.html.gz
        
          Pour les fichiers « HTML
          multiples » :
        
        tar -xvf ../php_manual_en.tar.gz \
    -C /usr/share/doc/php-7.1.8 --no-same-owner
       
      
        
          Explication des commandes
        
        
          sed -i "s|lsystemd-daemon|lsystemd|g"
          configure : Cette commande corrige la
          détection de la bibliothèque de systemd.
        
        
          --datadir=/usr/share/php : Ceci
          contourne un bogue dans le processus de construction qui installe
          quelques données au mauvais endroit.
        
        
          --enable-fpm : Ce
          paramètre permet de construire le gestionnaire de processus
          fastCGI.
        
        
          --with-fpm-systemd :
          Ce paramètre permet au gestionnaire de processus fastCGI de
          s'intégrer avec systemd.
        
        
          --with-config-file-path=/etc :
          Ce paramètre amène PHP à chercher
          le fichier de configuration php.ini
          dans /etc.
        
        
          --with-zlib : Ce
          paramètre ajoute le support pour la compression Zlib.
        
        
          --enable-bcmath :
          Active les fonctions mathématiques précises dans le style de
          bc.
        
        
          --with-bz2 : Ajoute le
          support pour les fonctions de compression de Bzip2.
        
        
          --enable-calendar : Ce
          paramètre offre un support pour la conversion de calendrier.
        
        
          --enable-dba=shared :
          Ce paramètre active le support pour les fonctions de la couche
          d'abstraction de base de données dans le style dbm.
        
        
          --enable-ftp : Ce
          paramètre active les fonctions FTP.
        
        
          --with-gettext :
          Active les fonctions qui utilisent la traduction de texte
          Gettext.
        
        
          --enable-mbstring : Ce
          paramètre active le support des chaînes multi-octets.
        
        
          --with-readline : Ce
          paramètre active le support Readline en ligne de commande.
        
        
          --disable-libxml : Cette option
          permet de construire PHP sans que libxml2 ne soit installé.
        
        
          --with-apxs2 : au lieu de
          construire le gestionnaire de processus fastCGI, il est possible de
          construire un module apache. Cela
          pénalise un peu les performances pour des serveurs fortement
          chargés, mais peut être plus facile à initialiser. Ce paramètre est
          incompatible avec --enable-fpm et --with-fpm-....
        
        
          --with-mysqli=shared : Cette
          option inclut le support de MySQLi.
        
        
          --with-mysql-sock=/run/mysqld/mysqld.sock :
          Localisation du pointeur de socket unix de MySQL.
        
        
          --with-pdo-mysql=shared : Cette
          option active le support de PDO: MySQL.
        
        
          --with-tidy=shared : Cette option
          inclut le support de la bibliothèque tidy.
        
       
      
        
          Configuration de PHP
        
        
          
            Fichiers de
            configuration
          
          
            /etc/php.ini, /etc/pear.conf, /etc/php-fpm.conf et /etc/php-fpm.d/www.conf
          
         
        
          
            Informations sur la configuration
          
          
            Le fichier utilisé en tant que fichier de configuration
            /etc/php.ini par défaut est
            recommandé par l'équipe de développement de PHP. Ce fichier modifie le comportement par
            défaut de PHP. Si vous
            n'utilisez pas /etc/php.ini, tous
            les paramètres de configuration retombent sur ceux par défaut.
            Vous devriez observer les commentaires dans ce fichier et vous
            assurer que les modifications sont acceptables pour votre
            environnement particulier.
          
          
            Le gestionnaire de taches fastCGI utilise le fichier de
            configuration /etc/php-fpm.conf. Le
            fichier par défaut fourni avec PHP inclus tous les /etc/php-fpm.d/*.conf. Il y a de fourni le
            fichier /etc/php-fpm.d/www.conf,
            qui contient les paramètres pour l'interaction avec le serveur
            web Apache.
          
          
            Il se peut que vous ayez noté ceci dans la sortie de la commande
            make install :
          
          You may want to add: /usr/lib/php to your php.ini include_path
          
            Si désiré, ajoutez l'entrée en utilisant la commande suivante en
            tant qu'utilisateur root :
          
          sed -i 's@php/includes"@&\ninclude_path = ".:/usr/lib/php"@' \
    /etc/php.ini
          
            Pour activer le support fastCGI dans un serveur web Apache, deux directives de chargement
            LoadModule doivent être ajoutées dans le fichier httpd.conf. Elles sont commentées, donc il
            suffit de taper la commande suivante en tant qu'utilisateur
            root :
          
          sed -i -e '/proxy_module/s/^#//'      \
       -e '/proxy_fcgi_module/s/^#//' \
       /etc/httpd/httpd.conf
          
            Ces modules acceptent différentes directives ProxyPass. Une possibilité est
            (en tant qu'utilisateur root) :
          
          echo \
'ProxyPassMatch ^/(.*\.php)$ fcgi://127.0.0.1:9000/srv/www/$1' >> \
/etc/httpd/httpd.conf
          
            En outre, il peut être utile d'ajouter une entrée pour
            index.php à la ligne DirectoryIndex
            du fichier httpd.conf. Enfin,
            l'ajout d'une ligne pour paramétrer l'extension .phps pour montrer les sources PHP en surlignage peut être désirable :
          
          AddType application/x-httpd-php-source .phps
          
            Vous devrez redémarrer le serveur web Apache après avoir apporté une modification
            au fichier httpd.conf.
          
         
        
          
             Unité Systemd
          
          
            Pour démarrer le démon php-fpm au démarrage, installez
            l'unité systemd depuis le paquet blfs-systemd-units-20160602 en
            lançant la commande suivante en tant qu'utilisateur root :
          
          make install-php-fpm
         
       
      
        
          Contenu
        
        
          
            
              Programmes installés:
              pear, peardev, pecl, phar (symlink),
              phar.phar, php, php-cgi, php-config, php-fpm, phpdbg et
              phpize
            
            
              Bibliothèques installées:
              dba.{so,a} et opcache.{so,a} dans
              /usr/lib/php/extensions/no-debug-non-zts-20151012
            
            
              Répertoires installés:
              /etc/php-fpm.d,
              /usr/{include,lib,share}/php et /usr/share/doc/php-7.1.8
            
           
         
        
          
            Descriptions courtes
          
          
            
            
              
                | 
                   
                    php
                   
                 | 
                
                   
                    est une interface en ligne de commande qui vous permet
                    d'analyser et d'exécuter du code PHP.
                   
                 | 
              
              
                | 
                   
                    pear
                   
                 | 
                
                   
                    est l'extension PHP et le gestionnaire de paquet PHP
                    Extension and Application Repository (PEAR, dépôt des
                    extensions et des applications PHP).
                   
                 | 
              
              
                | 
                   
                    php-fpm
                   
                 | 
                
                   
                    est le gestionnaire de processus fastCGI pour PHP.
                   
                 | 
              
              
                | 
                   
                    phpdbg
                   
                 | 
                
                   
                    est le débogueur PHP interactif.
                   
                 | 
              
            
          
         
       
      
        Last updated on 2017-08-16 22:38:22 +0200