Manuel PHP
Précédent   Suivant

Installation sous UNIX

Ce chapitre va vous aider lors de la configuration et de l'installation du PHP. Les connaissances nécessaires sont les suivantes :

Installation rapide (Version Module Apache)

1.  gunzip apache_1.3.x.tar.gz
2.  tar xvf apache_1.3.x.tar
3.  gunzip php-3.0.x.tar.gz
4.  tar xvf php-3.0.x.tar
5.  cd apache_1.3.x
6.  ./configure --prefix=/www
7.  cd ../php-3.0.x
8.  ./configure --with-mysql --with-apache=../apache_1.3.x --enable-track-vars
9.  make
10. make install
11. cd ../apache_1.3.x
12. ./configure --prefix=/www --activate-module=src/modules/php3/libphp3.a
13. make
14. make install

	A la place de cette étape, vous pouvez simplement écraser le binaire
	httpd. Assurez-vous d'avoir bien arrÆté le demon d'abord.

15. cd ../php-3.0.x
16. cp php3.ini-dist /usr/local/lib/php3.ini

	Vous pouvez éditer le fichier de configuration /usr/local/lib/php3.ini.
	Si vous préférez installer le fichier dans un autre répertoire,
	il faut utiliser l'option de configuration --with-config-file-path=/path 
	à l'étape 8.
	
17. Editez le fichier de configuration apache httpd.conf or srm.conf et ajoutez : 
      
            AddType application/x-httpd-php3 .php3
 
  Ici, il faut choisir l'extension que vous souhaitez donner au fichier php.
  .php3 est simplement celle que nous suggérons.

18. Utilisez la procédure normale afin de démarrer le serveur Apache. (Vous 
	devez impérativement arrêter et redémarrer le serveur Apache, et pas 
	seulement le relancer à l'aide d'un signal HUP ou USR1).

Configuration

Il y a deux moyens de configurer PHP.

Tous les détails à propos des différentes options de configuration sont regroupés ici:

Module Apache

Pour compiler PHP comme un module Apache, répondre "yes" à la question "Build as an Apache module ?" (correspond à l'option de configuration --with-apache= DIR) et spécifie la racine de la distribution Apache. Si vous avez décompressé Apache dans le répertoire /usr/local/www/apache_1.2.4, c'est la racine de la distribution Apache. Le répertoire par défaut est : /usr/local/etc/httpd.

Module fhttpd

Pour compiler PHP comme un module fhttpd, répondre "yes" à la question "Build as an fhttpd module ?" (correspond à l'option de configuration --with-fhttpd= DIR et spécifie la racine de la distribution fhttpd. Le répertoire par défaut est: /usr/local/src/fhttpd. Si vous utilisez fhttpd, compiler PHP en module vous permettra d'obtenir des performances supérieures, plus de controle et la possibilité d'exécution à distance.

Version CGI

Par défaut, PHP est compilé comme une CGI. Si vous voulez que votre serveur web supporte le PHP, compiler le PHP comme une CGI permet d'obtenir de meilleures performances. Cependant, la version CGI permet les utilisateurs de lancer des script PHP sous leur UID respectives. Lisez attentivement le chapitre consacré à la Sécurité si vous souhaitez utilisé cette solution.

Configuration pour le support des bases de données

PHP supporte de nombreuses bases de données (comme ODBC)

Adabas D

--with-adabas=DIR

Configure PHP pour le support des bases de données Adabas D. Le paramètre est le répertoire d'installation de la base de données et par défaut /usr/local/adabasd.

Adabas home page

dBase

--with-dbase

Configure PHP pour le support des bases de données dbase. Aucune librairie n'est nécessaire.

filePro

--with-filepro

Configure PHP pour le support des bases de données filePro. Aucune librairie n'est nécessaire.

mSQL

--with-msql=DIR

Compile PHP pour le support des bases de données mSQL. Le paramètres est le répertoire d'installation de la base de données et par défaut /usr/local/Hughes. C'est le répertoire par défaut où est installé mSQL 2.0. configure détecte automatiquement quelle version de mSQL est installé. PHP supporte aussi bien la version 1.0 que la version 2.0, mais si vous compilez PHP avec mSQL 1.0, vous pourrez accéder uniquement à mSQL 1.0, et vice-versa.

Voir aussi Configuration de mSQL au chapitre fichier de configuration.

mSQL home page

MySQL

--with-mysql=DIR

Compile PHP pour le support des bases de données MySQL. Le paramètre est le répertoire d'installation de la base de données et par défaut /usr/local. C'est le répertoire par défaut où est installé MySQL.

Voir aussi Configuration de MySQL au chapitre fichier de configuration.

MySQL home page

iODBC

--with-iodbc=DIR

Compile PHP pour le support des bases de données iODBC. Cette fonction a été développée au départ pour supporter "iODBC Driver Manager", un driver ODBC qui fonctionne sous la plupart des versions d'UNIX. Le paramètre est le répertoire d'installation de la base de données et par défaut /usr/local.

FreeODBC home page

OpenLink ODBC

--with-openlink=DIR

Compile PHP pour le support des bases de données OpenLink ODBC. Le paramètre est le répertoire d'installation de la base de données et par défaut /usr/local/openlink.

OpenLink Software's home page

Oracle

--with-oracle=DIR

Compile PHP pour le support des bases de données Oracle. Cette option fonctionne avec les versions 7.0 à 7.3 d'Oracle. Le paramètre est le répertoire d'installation de la base de données et par défaut ORACLE_HOME. Vous n'avez pas à spécifier ce paramètres si votre base de données Oracle est déjà installée.

Oracle home page

PostgreSQL

--with-pgsql=DIR

Compile PHP pour le support des bases de données PostgreSQL. Le paramètre est le répertoire d'installation de la base de données PostgreSQL et par défaut /usr/local/pgsql.

Voir aussi Configuration de Postgres au chapitre fichier de configuration file.

PostgreSQL home page

Solid

--with-solid=DIR

Compile PHP pour le support des bases de données Solid. Le paramètre est le répertoire d'installation de la base de données et par défaut /usr/local/solid.

Solid home page

Sybase

--with-sybase=DIR

Compile PHP pour le support des bases de données Sybase. Le paramètre est le répertoire d'installation de la base de données et par défaut /home/sybase.

Voir aussi Configuration Sybase au chapitre fichier de configuration.

Sybase home page

Sybase-CT

--with-sybase-ct=DIR

Compile PHP pour le support des bases de donnés Sybase-CT. Le paramètre est le répertoire d'installation de la base de données Sybase-CT et par défaut /home/sybase.

Voir aussi Configuration Sybase-CT au chapitre fichier de configuration.

Velocis

--with-velocis=DIR

Compile PHP pour le support des bases de données Velocis. Le paramètre est le répertoire d'installation de la base de données Velocis et par défaut /usr/local/velocis.

Velocis home page

Autre librairie ODBC

--with-custom-odbc=DIR

Compile PHP pour le support d'une autre libraire ODBC. Le paramètre est le répertoire d'installation de la base de données et par défaut /usr/local.

Cette option impliques que vous aillez définie la variable CUSTOM_ODBC_LIBS avant de lancer le script de configuration. Vous devez aussi avoir une fichier odbc.h quelques part dans votre répertoire d'installation. Si vous n'en avez pas, créez en un et inclué dedans vos header. Vos headers demanderons sûrement des définitions supplémentaire, notamment en cas de base de données multiplateforme. Définissez les dans la variable CFLAGS.

Par exemple, vous pouvez utiliser Sybase SQL n'import où sous QNX en définissant la variable CFLAGS comme suit: CFLAGS=-DODBC_QNX LDFLAGS=-lunix CUSTOM_ODBC_LIBS="-ldblib -lodbc" ./configure --with-custom-odbc=/usr/lib/sqlany50

ODBC unifié

--disable-unified-odbc

Invalide le module ODBC unifié, qui est une interface commune a toutes les bases de données doté d'une interface ODBCn tel que Solid et Adabas D. Cela fonctionne aussi les librairies classique ODBC. Cela a été testé avec iODBC, Solid, Adabas D and Sybase SQL, sous tous les types d'OS. Cela implique qu'un et un seule des modules ou le module Velocis est utilisé ou bien une librairie personnel ODBC. Cette option n'est valide que si une des options suivantes est utilisée: --with-iodbc, --with-solid, --with-adabas, --with-velocis, or --with-custom-odbc,

Voir aussi Configuration du module ODBC unifié au chapitre fichier de configuration.

LDAP

--with-ldap=DIR

Ajoute le support LDAP (Lightweight Directory Access Protocol). Le paramètre est le répertoire d'installation de LDAP et par défaut /usr/local/ldap.

Plus d'informations à propos de LDAP est disponible dans les RFC 1777 et RFC 1778.

Autres options de configuration

--with-mcrypt=DIR

--with-mcrypt

Ajoute le support de la librairie mcrypt. Consulter la documentation concernant mcrypt pour plus d'information. Si vous utilisez le paramètre optionnel, DIR , PHP cherchera le fichier mcrypt.h dans le répertoire DIR/include.

--enable-sysvsem

--enable-sysvsem

Ajoute le support des sémaphores Sys V (supportés par la plupart des versions d'UNIX) Consulter la documentation concernant "Semaphore and Shared Memory" pour plus d'information.

--enable-sysvshm

--enable-sysvshm

Ajoute le support pour la memoire partagée. (supporter par la plupart des versions d'UNIX) Consulter la documentation concernant "Semaphore and Shared Memory" pour plus d'information.

--with-xml

--with-xml

Ajoute le support du parseur XML en utilisant la librairie expat de James Clark. Voir aussi les références aux fonctions XML pour plus de renseignements.

--enable-maintainer-mode

--enable-maintainer-mode

Ajoutes des dépendences supplémentaires ainsi que des options de compilation utilisées par certains développeurs du language PHP.

--with-system-regex

--with-system-regex

Cette option les expressions régulières du PHP en lieu et place de celles fournis avec le language. Si vous compilez PHP comme module serveur, vous devez utilisez la même librairie lorsque vous compilez PHP et lorsque vous le linker au serveur. Vous pouvez ajouter cette option si la librairie systeme ajoute de fonctionnalités supplémentaire dont vous avez besoin. Dans le cas contraire, il est recommendé d'utiliseer la librairie fournis avec le language.

--with-config-file-path

--with-config-file-path=DIR

Le répertoire spécifié en paramètre est utilisé lorque PHP cherche le fichier de configuration au démarrge du PHP.

--with-exec-dir

--with-exec-dir=DIR

Permet l'execution des programmes qui se trouve dans le répertoire DIR lorsque l'option "safe mode" est activée. Par défaut, DIR = /usr/local/bin. Cette option ne permet pas de modifier la valeur par défaut. Cette valeur peut être modifiée avec la directive safe_mode_exec_dir dans le fichier de configuration.

--enable-debug

--enable-debug

Ajoute la possibilité d'obtenir des informations complémentaires. Il est alors possible d'obtenir plus d'informations quand il y a des problemes avec PHP. (Il est à noter que cela n'a rien à voir avec des facilitées de débuggage ou des informations à propos des scripts PHP.)

--enable-safe-mode

--enable-safe-mode

Active le "safe mode" par défaut. Cela imposes de nombreuses restrictions sur les fonctionnalités du PHP, concernant notamment l'ouverture des fichiers. Consultez le chapitre sur la sécurité pour avoir plus de renseignements. Si vous compilez PHP comme CGI, vous devriez toujours activer le "safe mode". Cela active l'option par défaut. Ce mode peut être activé ou désactivé en utilisant la directive safe_mode dans le fichier de configuration.

--enable-track-vars

--enable-track-vars

Permet au PHP de stocker dans les tableaux HTTP_GET_VARS, HTTP_POST_VARS et HTTP_COOKIE_VARS les informations recues par les méthodes GET/POST ou bien en provenance d'un cookie. Cela active l'option par défaut. Cette option peut être activée ou désactivée grÅce à la directive track_vars dans le fichier de configuration.

--enable-magic-quotes

--enable-magic-quotes

Acitve l'option "magic quotes" par défaut. Cela active l'option par défaut. Cette option peut être activée ou désactivée grÅce à la directive magic_quotes_runtime dans le fichier de configuration. Voir aussi les directives magic_quotes_gpc et magic_quotes_sybase.

--enable-debugger

--enable-debugger

Permet d'utiliser le débugger interne du PHP. Cette fonctionnalité est encore au stade expériementale. Voir aussi la directive Debugger Configuration dans le fichier fichier de configuration.

--enable-discard-path

--enable-discard-path

Si cette option est activée, le binaire du PHP (dans le cas d'une compilation comme CGI) peut être placée en toute sureté à l'extérieur de l'arborescence du serveur web. Les utilisateurs ne pourront pas aller au delà des règles de sécurité imposée par le fichier ".htaccess". Voir aussi le chapitre concernant la sécurité à propos de cette option.

--enable-bcmath

--enable-bcmath

Ajoute les fonctions de précisions mathématiques arbitraires. Voir aussi l'option bcmath.scale dans le fichier de configuration.

--enable-force-cgi-redirect

--enable-force-cgi-redirect

Active une option de sécurité concernant la redirection interne du serveur web. Si vous utilisez Apache comme CGI, vous devriez utiliser cette option.

Lorsque vous utilisez PHP comme CGI, PHP vérifie toujours par défaut qu'il est utilisé par redirection. (par exemple, sous Apache, en utilisant les directives "Action Directives"). Cela assure que le binaire PHP ne peut pas être utilisé pour passer par dessus les procédures d'authentification du serveur web en appellant une procédure directevement. Par exemple, http://my.host/cgi-bin/php/secret/doc.html. Dans cette exemple, on accède à la page http://my.host/secret/doc.html mais cela n'utilise aucune règle de sécurité pour le répertoire /secret.

Ne pas activer cette option annule la vérification et permet éventuellement de passser par dessus les procédures d'authentification et de sécurité du démon httpd. Désactivez cette option uniquement si votre serveur n'est pas capable d'indiquer si une rédirection sécurisée a été effectué et si toutes les fichiers sur votre serveur et dans les répertoires utilisateurs peuvent être accessible de l'extérieure par tout le monde.

Consultez le chapitre consernant la sécurité a propos de cette option.

--disable-short-tags

--disable-short-tags

Désactive la version courte <? ?> des tags PHP. Vous devez désactiver la version courte des tags si vous souhaitez utiliser le PHP avec XML. Si vous désactivez la version courte des tags, les seuls tag PHP acceptés sont <?php ?>. Cette option établie la valeur par défaut. Elle peut être activée ou désactivée ave la directive short_open_tag dans le fichier de configuration.

--enable-url-includes

--enable-url-includes

Ajoute la possibilité d'exécuter du code PHP à partir d'un autre serveur HTTP ou FTP directement grÅce à la fonction include(). Vois aussi l'option include_path dans le fichier de configuration.

--disable-syntax-hl

--disable-syntax-hl

Annule la surbrillance de la syntaxe.

CPPFLAGS and LDFLAGS

Pour que, lors de la compilation et de l'installation, PHP cherche les diférents fichiers ou librairies dans des répertoires précis, vous devez modifier les variables d'environnement CPPFLAGS et LDFLAGS. Si vous utilisez un shell "sensible" (???), vous pouvez aussi exécuter la commande LDFLAGS=-L/my/lib/dir CPPFLAGS=-I/my/include/dir ./configure

Compilation

Lorsque vous avez exécuté le script de configuration, vous êtes prêt pour compiler le PHP comme module ou bien comme CGI. La commande make devrait s'occuper de la compilation. Si cela ne fonctionne pas correctement, vous trouverez dans le paragraphe problemes de nombreuses réponses aux problèmes courant de compilation.

Test

Si vous avez compilé PHP comme CGI, vous pouvez vérifier que votre compilation c'est bien déroulée en tapant la commande make test. C'est toujours une bonne idée de test si la compilation c'est bien déroulée. Dans ce sens, vous serez capable de détecter une erreur à la source au lieu de chercher des erreurs le problèmes plutard.

Benchmark

Si vous avez compilé PHP comme CGI, vous pouvez utiliser le script de benchmark en tapant la commande make bench. Il est a noté que si le "safe mode" est activé, le bench ne pourra pas se finir si l'exécution prend plus que les 30 secondes permises. Cela tient au fait que la fonction set_time_limit() ne peut pas être utilisé lorsque le "safe mode" est activé. Utilisez la directive max_execution_time pour contrúler le temps d'exécution dans vos scripts. make bench ne tient pas compte du fichier de configuration.

Précédent Sommaire Suivant
Installation Chapitre Installation on Windows 95/98/NT systems