|
Le Guide d'installation d'Apache pour Windows
22 janvier 2003
PHP
L'installation de PHP sous Windows est facilitée par
rapport à la version Linux dans la mesure où elle ne nécessite
ni l'installation préalable de librairies ni une compilation.
Décompactez tout d'abord l'archive de PHP vers une localisation adéquate,
par exemple C:\webdev\php.
Puis copiez ensuite le fichier php.ini-dist sous le nom php.ini vers le répertoire
de base de Windows (par défaut C:\WINDOWS pour Windonws 95/8/Me/XP, C:\WINNT
pour Windows NT et 2000).
C:\> copy c:\webdev\php\php.ini-recommended c:\windows\php.ini
NDR : destiné aux environnements de production, ce fichier ini comprend
une option qui désactive l'affichage des messages d'erreur. Du coup,
on se trouve devant une page blanche sans comprendre ce que se passe. Pour y
remédier, recherchez l'option display_errors et fixez comme valeur
"On" en lieu et place de "Off".
Enfin, copiez le fichier php4ts.dll dans le sous-répertoire system32
(pour Windows NT 4.0/2000/XP) ou system (pour Windows 9x/Me) du répertoire
de base de Windows mentionné ci-dessus.
C:\> copy c:\webdev\php\php4ts.dll c:\windows\system32
Configuration des modules complémentaires
PHP 4.0.5 et supérieurs offrent en standard le support des extensions
(modules) suivantes : MySQL, ODBC, FTP, Calendar, BCMath, COM, PCRE, Session,
WDDX et XML. Il n'est pas nécessaire de charger un quelconque module
pour pouvoir utiliser les fonctions qui leur sont rattachées.
Les modules supplémentaires activables permettent entre autres l'accès
à d'autres bases de données (Microsoft SQL Server par exemple),
la génération d'images, le chiffrement, la compression, l'accès
aux annuaires LDAP, etc.
Pour configurer le support des extensions, éditez le fichier php.ini
et recherchez le paramètre extension_dir (rubrique Paths and Directories).
Modifiez-le afin qu'il désigne le sous-répertoire extensions du
répertoire où vous avez décompacté l'archive de
PHP. Par exemple, si vous avez décompacté PHP dans C:\webdev\php,
modifiez la ligne comme suit :
extension_dir = c:\webdev\php\extensions
Recherchez ensuite la rubrique Dynamic Extensions. Cette rubrique permet de
spécifier des modules optionnels à activer au sein de PHP. De
façon à disposer des mêmes fonctionnalités que sous
Linux, décommentez (enlevez le caractère ";" en début
de ligne) les lignes suivantes :
extension=php_gd2.dll (l'extension correspond à GD 2 et
le fichier se nomme ainsi, il faut donc ajouter un 2...petite coquille du fichier
ini)
extension=php_pdf.dll
NDR : la ligne extension=php_zlib.dll n'existe plus avec la version
4.3.0 car zlib est désormais intégré à PHP.
Attention, certaines extensions (par exemple l'extention PDF) font appel à
des DLLs spécifiques situées dans le répertoire c:\webdev\php\dlls.
La première possibilité serait de copier tous les fichiers ".dll"
du répertoire c:\webdev\php\dlls dans C:\windows\system (sous Win9x/Me)
ou C:\winnt\system32 (sous WinNT/Win2k/XP) mais personnellement je ne trouve
pas ça "propre". Je préfère ajouter le répertoire
c:\webdev\php\dlls dans le chemin de recherche ("PATH", rubrique "System
variables" dans la première image pour Win2K/XP, ajouter une ligne
SET PATH=%PATH%;C:\webdev\php\dlls dans l'AUTOEXEC.BAT pour Win9x/Me).
Cette modification du chemin de recherche nous sera utile plus tard, c'est donc
la bonne approche.


Remarque : pour que le chemin de recherche soit effectivement
mis à jour, un redémarrage de la machine est nécessaire.
Configuration d'Apache
Il existe deux façons de configurer la version Windows d'Apache pour
lui ajouter le support de PHP : soit utiliser PHP sous la forme d'un CGI, soit
l'utiliser sous la forme d'un module dynamique, comme nous l'avions fait sous
Linux. Le choix dépend essentiellement des besoins. La version CGI est
parfaitement stable, et est donc la plus conseillée dans un environnement
de production. Son principal défaut est de présenter des performances
moyennes. A contrario, la version "module Apache" de PHP présente
de bien meilleures performances mais n'est pas considérée comme
100% stable du fait qu'elle emploie les processus légers (threads) et
que cette partie du code de PHP présenterait encore quelques bugs. Des
retours d'information contradictoires sur le sujet (problèmes avec la
version CGI, fonctionnement parfait avec la version module et vice-versa) ont
été postés sur le site de PHP. Il est donc difficile de
se prononcer pour une méthode plutôt que pour une autre, le mieux
étant de tester les deux solutions en fonction de votre plate-forme matérielle
et logicielle.
PHP en tant que CGI
Recherchez ensuite dans le fichier de configuration d'Apache (httpd.conf) la
rubrique <IfModule mod_alias.c> et ajoutez juste avant la ligne
</IfModule> qui clôt le paragraphe la ligne suivante :
ScriptAlias /php/ "c:/webdev/php/"
Recherchez ensuite la section Document types. Tout à la fin du
paragraphe, Juste avant la directive </IfModule>, ajoutez les lignes suivantes
:
AddType application/x-httpd-php .php
AddType application/x-httpd-php-source .phps
Ajoutez juste en-dessous de ces deux lignes la ligne suivante :
Action application/x-httpd-php "/php/php.exe"
PHP en tant que module Apache
Copiez le fichier php4ts.dll situé dans le répertoire de
PHP (c:\webdev\php dans notre cas) dans le répertoire c:\webdev\php\dlls,
en écrasant au besoin une version antérieure. Ce fichier devant
se trouver dans le chemin de recherche, la modification apportée plus
haut nous facilite la vie tout en gardant une vision claire de l'emplacement
des DLLs utilisées par PHP.
Recherchez ensuite dans le fichier de configuration d'Apache (httpd.conf) la
section relative à l'emploi des modules dynamiques (Dynamic Shared Object
(DSO) Support), juste avant la section 2. Ajoutez alors les lignes suivantes
:
LoadModule php4_module c:/webdev/php/sapi/php4apache.dll # Apache 1.3
ou
LoadModule php4_module c:/webdev/php/sapi/php4apache2.dll # Apache 2.0
Et un peu plus loin
AddModule mod_php4.c
Adaptez le chemin au besoin afin qu'il corresponde à votre installation,
et veillez à utiliser des slashs ("/") en lieu et place des
backslashs ("\").
Recherchez ensuite la section Document types. Tout à la fin du
paragraphe, Juste avant la directive </IfModule>, ajoutez les lignes suivantes
:
AddType application/x-httpd-php .php
AddType application/x-httpd-php-source .phps
Pour ajouter le support des fichiers PHP comme fichiers par défaut (cf
le Guide d'installation d'Apache sous Linux), recherchez le paramètre
DirectoryIndex et ajoutez index.php après index.html en les séparant
par un espace :
DirectoryIndex index.html index.php
Quelque soit la méthode que vous ayez choisi, n'oubliez pas ensuite d'arrêter
et de redémarrer Apache.
Si Apache est installé comme un service :
C:\> net stop apache
C:\> net start apache
Si Apache est démarré manuellement, stoppez-le en utilisant
Apache Manager.
Vous pouvez ensuite vérifier le bon fonctionnement du couple Apache/PHP
en créant le fichier info.php avec le contenu suivant dans votre
arborescence de pages :
<?php
phpinfo();
?>
Ouvrez votre navigateur et saisissez l'URL du fichier, la page d'information
de PHP devrait apparaître.

A noter que la ligne Server API affiche CGI si
PHP a été configuré comme CGI, Apache dans le cas
où il est employé comme module d'Apache.
Pour vous assurez du support des fonctions GD, PDF et Zlib, défilez dans
la page à la recherche de la partie présentée ci-dessous
:
|