I. Le problème

Les lignes qui suivent ne concernent pas toutes les versions d'Apache et de PHP ! Seuls Apache 2.2.x et PHP 5.1.x installés sur Windows sont concernés par ce qui suit...

Le problème survient à la fin de l'installation de PHP. Après avoir ajouté les lignes nécessaires à l'activation de ce dernier dans httpd.conf, Apache devrait refuser de démarrer. Le message d'erreur est le suivant :

Image non disponible

L'erreur vient de la dll de PHP, php5apache2.dll. Nous allons voir comment y remédier.

II. Les solutions

Plusieurs possibilités s'offrent à nous : nous pouvons tout simplement changer la version d'Apache ou encore patcher le fichier défectueux, php5apache2.dll.

II-A. Changer de version

Cette solution peut sembler idiote, mais c'est pourtant la plus simple... La version 2.0.xx d'Apache (actuellement 2.0.59) n'est pas exposée à notre problème. Vous pouvez donc rétrograder vers cette version et l'erreur n'apparaîtra plus ! Le seul inconvénient est que vous ne pourrez pas profiter des nouvelles fonctionnalités apportées à la version 2.2.x, si toutefois vous en faisiez usage.

II-B. Patcher php5apache2.dll

La seconde solution consiste à remplacer le fichier défecteux par un fichier patché. Ce fichier est disponible sur http://www.apachelounge.com.

Vers le milieu de la page, vous trouverez le fichier qui nous intéresse : php5apache2.dll-php5.1.x.zip.

Image non disponible

Téléchargez l'archive et extrayez-la. Vous devriez y trouver 4 fichiers : httpd.exe.manifest, php5apache2.dll ainsi que deux fichiers texte.

Les fichiers texte vous expliquent la marche à suivre...

Commencez par remplacer php5apache2.dll dans le dossier où vous avez installé PHP (C:\php5 par défaut). Gardez toujours une copie de l'ancien, on ne sait jamais...

Placez ensuite httpd.exe.manifest aux cotés de httpd.exe dans le dossier bin du répertoire d'Apache (C:\Program Files\Apache Group\Apache2.2\bin\).

Vous devez ensuite compléter httpd.conf pour qu'il prenne PHP en compte, ce que vous devriez déjà avoir fait...
Pour rappel, ces 3 lignes sont :

 
Sélectionnez
LoadModule php5_module "C:/php5/php5apache2.dll"
AddType application/x-httpd-php .php
PHPIniDir "C:/php5"

Les chemins dépendent bien évidemment de l'endroit où vous avez installé PHP.

Faites bien la différence entre les slashs / et les antislashs \. Apache et PHP ayant été développés pour Linux, ils utilisent les slashs contrairement à Windows, qui lui utilise les antislashs.

Il ne vous reste plus qu'à relancer Apache pour que les modifications soient prises en compte. Normalement, l'erreur ne devrait plus apparaître... Si toutefois elle ne disparaissait pas, alors vérifiez à nouveau que tout est OK et, si le problème persiste, postez dans la catégorie Apache du forum (http://www.developpez.net/forums/forumdisplay.php?f=205) ou contactez-moi par message privé.