PHP-7.3.2
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.4.
Informations sur le paquet
-
Téléchargement (HTTP) : http://www.php.net/distributions/php-7.3.2.tar.xz
-
Téléchargement (FTP) :
-
Somme de contrôle MD5 du téléchargement :
92a237d2f4075eb00dd2b1f36e71ae4c
-
Taille du téléchargement : 11 Mo
-
Estimation de l'espace disque requis : 789 Mo (plus 5 Mo
pour les tests, plus 112 Mo pour la documentation)
-
Estimation du temps de construction : 1.9 SBU (avec
parallélisme = 4, plus 2.8 SBU pour les tests)
Téléchargements supplémentaires
Dépendances de PHP
Recommandées
Apache-2.4.38 et libxml2-2.9.9
Outils et bibliothèques systèmes facultatifs
Aspell-0.60.6.1, enchant-2.2.3, libxslt-1.1.33, un MTA
(qui fournit la commande sendmail), PCRE-8.42, Pth-2.0.7, AppArmor, Dmalloc, Net-SNMP, OSSP mm, re2c et XMLRPC-EPI
Outils et bibliothèques graphiques facultatifs
FreeType-2.9.1, libexif-0.6.21, libjpeg-turbo-2.0.2, libpng-1.6.36,
LibTIFF-4.0.10, Système X
Window, FDF
Toolkit, GD et t1lib
Outils Internet facultatifs
cURL-7.64.0, tidy-html5-5.6.0,
Caudium, Hyperwave,
mnoGoSearch, Roxen WebServer et
WDDX
Outils et bibliothèques de gestion de données facultatifs
Berkeley DB-5.3.28 (Remarquez que PHP ne
supporte pas officiellement les versions supérieures à 5.3),
libiodbc-3.52.12, lmdb-0.9.23,
MariaDB-10.3.13 ou MySQL, OpenLDAP-2.4.47, PostgreSQL-11.2, SQLite-3.27.1,
unixODBC-2.3.7, Adabas, Birdstep, cdb, DBMaker, Empress, FrontBase,
IBM DB2, 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
Cyrus SASL-2.1.27, MIT Kerberos
V5-1.17, 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.9, 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 \
--without-pear \
--enable-fpm \
--with-fpm-user=apache \
--with-fpm-group=apache \
--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.3.2 &&
install -v -m644 CODING_STANDARDS EXTENSIONS INSTALL NEWS README* UPGRADING* php.gif \
/usr/share/doc/php-7.3.2 &&
ln -v -sfn /usr/lib/php/doc/Archive_Tar/docs/Archive_Tar.txt \
/usr/share/doc/php-7.3.2 &&
ln -v -sfn /usr/lib/php/doc/Structures_Graph/docs \
/usr/share/doc/php-7.3.2
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.3.2 &&
gunzip -v /usr/share/doc/php-7.3.2/php_manual_en.html.gz
Pour les fichiers « HTML multiples » :
tar -xvf ../php_manual_en.tar.gz \
-C /usr/share/doc/php-7.3.2 --no-same-owner
L'exécutable pear inclis n'est pas installé à cause d'un bogue qui
peut polluer le système de fichier avec plusieurs fichiers et
répertoires cachés. Si vous avez besoin de pear, exécutez les
commandes suivantes pour l'installer :
wget http://pear.php.net/go-pear.phar
php ./go-pear.phar
Explication des commandes
--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.
--without-pear
: Ce
paramètre désactive l'installation du logiciel pear inclus.
--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
.
Script de démarrage
Pour automatiquement démarrer le démon php-fpm quand le système est
redémarré, installez le script de démarrage /etc/rc.d/init.d/php
depuis le paquet blfs-bootscripts-20180105 en tant
qu'utilisateur root
:
make install-php
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-20180731
Répertoires installés:
/etc/php-fpm.d,
/usr/{include,lib,share}/php et /usr/share/doc/php-7.3.2
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). Il n'est pas
installé par défaut.
|
php-fpm
|
est le gestionnaire de processus fastCGI pour PHP.
|
phpdbg
|
est le débogueur PHP interactif.
|
Last updated on 2019-02-18 18:44:04 +0000