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

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]

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