Installation d'Apache + PHP + MySQL pour Windows
La suite de l'histoire n'est pas trop inaccessible... PHP est simple et puissant y compris dans son installation :
- Télécharger PHP
- Installer PHP
- Configurer PHP
- Un Test ?
- Plus...
Télécharger PHP
Sur www.php.net, dans la partie Windows Binaries, se trouvent deux versions téléchargeable de PHP.
Nous allons utiliser la version package :
Elle permet d'installer PHP en tant que CGI mais aussi en tant que module pour Apache ce qui est bien plus rapide à exécuter, un peu plus sécurisé et plus puissant puisque PHP est entièrement intégré au serveur.
Installer PHP
Extraire l'archive downloadée dans un répertoire de votre disque dur. Là encore, comme pour Apache, un simple C:\PHP ira très bien.
Copiez les fichiers php4ts.dll et php.ini-recommended dans votre répertoire système.
Win9x : C:\Windows\
Winnt : C:\Winnt40\
Win2k XP : C:\Winnt\
POUR UNE INSTALLATION DE PHP EN MODULE APACHE UNIQUEMENT
Copiez le fichier php4apache.dll (qui se trouve dans le répertoire sapi) dans votre répertoire système.
Configurer PHP
Comme pour Apache, PHP se configure à l'aide d'un "simple" fichier texte : php.ini
Renommez php.ini-recommended (celui qui se trouve maintenant dans votre répertoire système) en php.ini.
Ouvrez-le avec un éditeur de fichiers texte. Les lignes commentées, cette fois-ci sont symbolisées dans php.ini par le point-virgule ; Trouvez la ligne doc_root. Elle permet de dire à PHP à partir de quel endroit sur votre disque il est "habilité" à s'executer. Sauf si vous savez ce que vous faîtes, mettez pour doc_root la même chose que ce que vous avez spécifié pour le DocumentRoot d'Apache.
doc_root = "D:\web\"
Trouvez la ligne de l'include_path, mais trouvez la bonne, celle concernant Windows, pas Unix. Elle vous permet de constater que l'utilisation de slash (/) ou de l'anti-slash (\) est primordiale dans la configuration de PHP. Décommentez-donc la ligne et spécifiez les répertoires qui seront parcourus en priorité lors d'un include() ou d'un require() à savoir d'abord le répertoire du script en cours (symbolisé par un point) puis le répertoire de la librairie PEAR, par exemple. Chez moi cela ressemble à
include_path = ".;C:\PHP\pear\"
Trouvez la ligne extension_dir et modifiez-la pour indiquer le chemin vers le répertoire extensions de PHP (qui contient... toutes les extensions de PHP, en effet.).
Par exemple :
extension_dir = "C:\PHP\extensions\"
Trouvez et passez register_globals à On. Vous le conseiller n'est pas ce que j'ai fait de mieux, mais ça devrait quand même vous simplifier la vie : Cela permet d'utiliser les variables EGPCS comme variables globales (cf. variables utiles de PHP) et donc de gagner du temps lors de la conception d'un script. register_globals à Off est plus sécurisé... Peut-être pouvez-vous prendre de nouvelles habitudes de codage en passant la valeur à Off ?
register_globals = On
POUR UNE INSTALLATION DE PHP EN CGI UNIQUEMENT
Trouvez la ligne cgi.force_redirect, dé-commentez-la et passez sa valeur à 1 afin de s'assurer que PHP ne sera pas utilisé autrement qu'en tant que CGI :
cgi.force_redirect = 1
Vous pouvez aller un peu plus loin avec php.ini en modifiant d'autres paramètres comme par exemple :
display_errors (qui gère l'affichage des erreurs),
error_reporting (qui défini les niveaux d'erreurs de PHP),
zlib.output_compression (qui permet de compresser les documents avant l'envoi),
max_execution_time (qui permet de définir la durée allouée pour chaque exécution de scripts),
extension= (qui permet d'activer ou désactiver une extension en ajoutant ou supprimant le ; ),
session.save_path (qui détermine le répertoire dans lequel seront stockées les sessions),
mais aussi le smtp, l'email de l'administrateur, etc...
Voilà, php.ini est prêt. Il ne reste plus qu'à configurer le serveur.
Ouvrez votre httpd.conf, suivez les étapes suivantes et terminez par configurer PHP SOIT en tant que module Apache, SOIT en tant que CGI.
Précisons à Apache que les fichier index.php, au même titre que les index.html, sont les fichiers d'index de chaque répertoire et devront être lus en priorité lorsque le fichier n'est pas précisé (ex : http://www.phptools4u.com/scripts/ et http://www.phptools4u.com/scripts/index.php). Trouvez la partie DirectoryIndex et ajoutez index.php
DirectoryIndex index.html index.php
Ensuite, indiquons à Apache ce que sont les fichiers *.php, et ce qu'il doit en faire. Ajoutons le type de fichier php dans la partie AddType. Par exemple, je souhaite que mon serveur reconnaisse les fichiers *.php, *.php3, *.php4 et les fichiers *.phtml comme étant des fichiers php :
AddType application/x-httpd-php .php .php3 .php4 .phtml
POUR UNE INSTALLATION DE PHP EN MODULE APACHE UNIQUEMENT
Trouvez la partie LoadModule et décommentez ou créez (si elle n'existe pas) la ligne qui permettra à Apache de charger PHP au démarrage du serveur et spécifiez le chemin complet jusqu'à la dll de PHP :
LoadModule php4_module "C:/PHP/sapi/php4apache.dll"
OU
LoadModule php4_module "C:/PHP/sapi/php4apache2.dll"
(si vous utilisez Apache 2.x)
Si vous utilisez Apache 2, je vous conseille fortement de remplacer la librairie php4apache2.dll en question par celle contenue dans la dernière version de PHP.
C'est le seul moyen pour l'instant de faire tourner PHP 4.2 et Apache 2 sous Windows...
Un fois chargé par Apache, il faudra que cette dll soit exécutée. Elle le sera si vous décommentez ou créez la ligne AddModule correspondante :
AddModule mod_php4.c
>(inutile si vous utilisez Apache 2)
POUR UNE INSTALLATION DE PHP EN CGI UNIQUEMENT
Trouvez la ligne des scripts : ScriptAlias, ajoutez-y le nom de l'alias ainsi que le répertoire vers lequel il pointe :
ScriptAlias /php/ "C:/PHP/"
Ensuite, ajoutez le chemin relatif (par rapport à la racine du serveur) de l'exécutable PHP qui va servir de Common Gateway Interface (CGI) pour exécuter le code PHP. Ce chemin s'ajoute dans la directive Action application que vous devrez ajouter, par exemple sous la ligne AddType application.
Action application/x-httpd-php "/php/php.exe"
Un test ?
C'est le moment du test :
Créez un fichier PHP (test.php) à la racine du serveur.
éditez-le et ajoutez-y les lignes suivantes :
<?php
phpinfo();
?>
Lancez votre serveur Apache et ouvrez un navigateur à l'adresse http://localhost/test.php.
Si vous tombez sur une page qui liste votre configuration, c'est que vous venez d'installer et configurer PHP avec succès !
Et maintenant, on installe MySQL ?
Aller plus loin avec PHP :
- Configurer php.ini www.phpindex.com ou membres.lycos.fr/pensarguet
- Plus d'infos sur register_globals www.php.net