Installer le binaire php-3_ORCx-win32.exe, en suivant les directives. L'installation devrait creer un répertoire C:\php.
Copier les fichiers php.exe, *.dll de ce repertoire dans [SERVER_ROOT]/cgi-bin/
I
Editer le fichier php3.ini situé sour WinNT/.
Il y a quelques changements a faire dans les sections suivantes:
Cette section regroupe les directives générales de PHP
Pour avoir une trace des logs d'erreurs, utile au moins le temps de
l'installation :
Vérifier la directive cgi_ext, qui définit l'extension utilisé pour les fichiers scripts PHP, nous
utiliserons php3 ici
Note:l'extension doit etre identique à celle définie dans la config Apache
vue plus loin. isapi_ext est l'extension utilisée pour PHP3 utilisé en API
sur un serveur IIS ( encore en developpement) nsapi_ext est l'extension
utilisée pour PHP3 utilisé sur un serveur Netscape
Si vous pensez utiliser le téléchargement de fichier ( upload files ), la directive suivante définie le repertoire temporaire ou seront stockés
ces fichiers.
Si vous utilisez la fonction intégrée
Cette section regroupe quelles extensions DLL doivent etre chargées par
défaut. Les fichiers .DLL sont situées dans [SERVER_ROOT\cgi-bin], etant
donné que vous les avez copié en A. Par exemple, pour utiliser la librairie
GD ( fonctions graphique ), ajouter:
Note: Si vous en faites un usage ponctuel, il est plutot conseillé
d'utiliser dl() dans le script PHP.
On suppose que: le serveur Apache est situé dans le repertoire
``c:\Apache''. les scripts PHP ont l'extension .php3
Editer le fichier de configuration Apache httpd.conf situé sous SERVER_ROOT/conf/ .
Note: Editer access.conf dans les versions d'Apache antérieures à la 1.3.5
Vérifiez la configuration du repertoire cgi-bin. il doit comporter la
directive ExecCGI, qui autorise l'execution de programme :
Note: Editer srm.conf dans les versions d'Apache antérieures à la 1.3.5
Vérifier ou ajouter la directive qui déclare votre répertoire cgi-bin
Ajouter la directive déclarant un MIME-Type pour les scripts PHP3: Le
format est AddType [mime-type] [file extension]
Ajouter la directive qui associe le moteur phph (php.exe) avec ce MIME-type
Note: Cette directive autorisera les urls simplifiés du type http://server/directory/my_script.php3
plutot que l'urls longue: http://server/cgi-bin/php.exe/directory/my_script.php3
Sauvegarder httpd.conf, et redémarrez Apache.
Creer un script de test simple, et enregistrez le sous [SERVER_ROOT]/htdocs/test.php3.
Code:
Le but de ce test est d'isoler un probleme spécifique du à PHP ( versus
ceux du au serveur HTTP) Ouvrir un Shell DOS dans le repertoire ou se
trouve test.php3 is, et tester le script:
Si vous n'obtenez pas les lignes ci-dessus, vérifiez PHP3.INI. Vous pourrez passer au test distant une fois le probleme est réglé.
Ouvrez un navigateur, pointez-le sur l'URL de votre script, dans notre
exemple http://localhost/test.php3
Si vous n'obtenez pas de réponse, vérigfiez le fichier d'erreurs Apache: error_log. Vérifiez également le fichier de log PHP ( [SERVER_ROOT]/logs/php3.log si
vous avez suivi les intructions en B). Il peuvent vous donner quelques
indications.
Cette section regroupe des problemes (et leur solution :) de configuration
couramment rencontrés.
Note: A chaque changement de la configuration d'Apache, vous devez redémarrez le serveur
Une raison possible est que le fichier php3.ini file n'est pas sous le
repertoire [WinNT].
-> Copiez Apache/cgi-bin/php3.ini-dist vers WinNT/php3.ini, et configurez-le. [ configuration de PHP ]
-> Verifiez que les directives AddType et Action sont correctment définies dans httpd.conf. [ Configuration d'Apache ]
Apache ne reconnait pas correctement le MIME-type associé à PHP3.
-> Vérifiez que vous avez le même mime-type (application/x-httpd-php3)
dans les directives AddType et Action
Cela arrive lorque la directive Action contient une erreur de sysntaxe sur le chemin.<br>
-> Vérifiez que la directive Action est juste [ Apache Configuration ]
( [warn] handler ``php3-script'' not found for: [php file] )
This warning in Apache/log/error_log, is often not an error. It appears also when the AddHandler directive is defined. It
seems to be a cosmetic bug in Apache.
a) Vous avez mal défini le chemin ou PHP recherche les librairies
dynamiques (DLL).
-> Vérifiez la directive extension_dir dans php3.ini
b) Pensez également que depuis la version 3.03 de PHP, les fichiers
librairies ont tous été préfixées avec php_. ( ie gd.dll renommé en php3_gd.dll ). Cette erreur peut apparaitre
``brusquement'' avec des scripts PHP existants lors de l'upgrade de PHP.
PHP n'est pas livré avec toutes les DLL utilisées par les librairies
dynamiques.
-> Rechercher le fichier xxx.dll (en utilisant la fonction Rechercher de
NT par exemple )
-> Déplacer la librairie manquante dans le chemin, par exemple sous [WIN]\System32.
-> Si vous ne trouvez pas la DLL, il vous reste a contacter le NG
news:fr.comp.infosystemes.auteur.php ou bien la mailing-list PHP.
This document written by Leo West - 1998/99
Questions sur Apache + PHP3 sur plateforme Win32 @ mailto:lwest@free.fr
Configuration de PHP
[PHP_3]
[mail function]
mail()
, changez:
[LoadExtensions]
Configuration d'Apache
Tests
Test local
Test distant
Problemes courants
vous obtenez un Internal Server Error ( HTTP 500 )
Le navigateur affiche le code source de la page plutot que la page interpretée.
Le navigateur ouvre une fenetre popup "Unknown File Type / Enregistrez le fichier sous"
Vous obtenez un Bad Request Error ( HTTP 400 )
"Fatal error: Unable to load dynamic library 'xxx.dll' "
Coté serveur, une fenetre Popup explique qu'un fichier xxx.dll est introuvable dans le PATH
Sources