PHP-5.6.0
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-7.6.
Informations sur le paquet
Téléchargements supplémentaires
Dépendances de PHP
Recommandées
Apache-2.4.10 et libxml2-2.9.1
Outils et bibliothèques systèmes facultatifs
libxslt-1.1.28, PCRE-8.35, Aspell-0.60.6.1,
enchant-1.6.0, Pth-2.0.7, un MTA
(qui fournit une commande sendmail) OSSP mm, Net-SNMP, re2c, XMLRPC-EPI,
et Dmalloc
Outils et bibliothèques graphiques facultatifs
libjpeg-turbo-1.3.1, LibTIFF-4.0.3,
libpng-1.6.13, libexif-0.6.21, FreeType-2.5.3, X Window
System, ClibPDF, GD, t1lib et
FDF
Toolkit
Outils Internet facultatifs
cURL-7.37.1, HTML Tidy-cvs_20101110,
mnoGoSearch, Hyperwave, Roxen
WebServer, Caudium, et
WDDX
Outils et bibliothèques de gestion de données facultatifs
OpenLDAP-2.4.39, Berkeley
DB-6.1.19, MariaDB-10.0.13 ou MySQL, PostgreSQL-9.3.5, unixODBC-2.3.2,
SQLite-3.8.6, QDBM, cdb, Mini SQL, Empress, Birdstep, DBMaker, Adabas, FrontBase et Monetra
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.0.1i, Cyrus
SASL-2.1.26, MIT Kerberos V5-1.12.2,
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 leurs docs 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/files/BLFS/svn/php_configure.txt.
Si, pour une raison quelconque, vous n'avez pas installé
libxml2-2.9.1, 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-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. Quelques tests peuvent
échouer, dans certains cas vous serez interrogez si vous voulez
envoyer un rapport aux developpeurs de PHP. Si vous voulez
automatiser les tests, vous pouvez préfixer la commande avec
yes "n" | .
Maintenant, en tant qu'utilisateur root
:
make install &&
install -v -m644 php.ini-production /etc/php.ini &&
mv -v /etc/php-fpm.conf{.default,} &&
install -v -m755 -d /usr/share/doc/php-5.6.0 &&
install -v -m644 CODING_STANDARDS EXTENSIONS INSTALL NEWS README* UPGRADING* php.gif \
/usr/share/doc/php-5.6.0 &&
ln -v -sfn /usr/lib/php/doc/Archive_Tar/docs/Archive_Tar.txt \
/usr/share/doc/php-5.6.0 &&
ln -v -sfn /usr/lib/php/doc/Structures_Graph/docs \
/usr/share/doc/php-5.6.0
La documentation HTML précompilée est emballée sous deux
formes : un archive tar contenant beaucoup de fichiers
individuels, utile 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 « Unique en
HTML » :
install -v -m644 ../php_manual_en.html.gz \
/usr/share/doc/php-5.6.0 &&
gunzip -v /usr/share/doc/php-5.6.0/php_manual_en.html.gz
Pour l'archive tar « beaucoup de fichiers
HTML » :
tar -xvf ../php_manual_en.tar.gz \
-C /usr/share/doc/php-5.6.0 --no-same-owner
Explication des commandes
--with-datadir=/usr/share/php
: Ce
travail contourne un bogue dans la machine de construction qui
installe quelques données dans un mauvais endroit.
--enable-fpm
: Ce paramètre
permet de construire le gestionnaire de processus fastCGI.
--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 bc de précision de style.
--with-bz2
: Ajoute le
support pour les fonctions Bzip2
de compression.
--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 (dbm-style).
--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 multioctets.
--with-readline
: Ce
paramètre active le support Readline en ligne de commande.
--with-mysql
: Ce paramètre inclus le
support MariaDB/MySQL.
--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-...
.
Configuration de PHP
Fichiers de
configuration
/etc/php.ini
, /etc/pear.conf
et /etc/php-fpm.conf
Informations de 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 de /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.
Il se peut que vous ayez noté la suite de 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 un surlignement PHP peut être désirable :
AddType application/x-httpd-php-source .phps
Vous devrez redémarrer le serveur Internet 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 e /etc/rc.d/init.d/php
depuis le paquet blfs-bootscripts-20140919 en tant
qu'utilisateur root
:
make install-php
Contenu
Programmes installés:
pear, peardev, pecl, phar (lien
symbolique), phar.phar, php, php-cgi, php-config, php-fpm, et
phpize
Bibliothèques installées:
dba.{so,a} et opcache.{so,a} dans
/usr/lib/php/extensions/no-debug-non-zts-20121212/
Répertoires installés:
/usr/include/php, /usr/lib/php,
/usr/share/php and /usr/share/doc/php-5.6.0
Descriptions courtes
php
|
est une interface en ligne de commande qui vous permet de
parser 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.
|
Last updated on : 2013-03-14 02:39:01 +010