Préliminaires : les tests ont été fait sur une station NT 4.0 Service Pack 4 avec PWS comme serveur Web
Récupérer l'archive binaire win32.
Site de référence : http://www.php.net/
URL de download : http://www.php.net/downloads.php
Pour l'accès aux bases de données, l'installation d'ODBC doit être correctement faite par ailleurs. Nous avons rencontré une difficulté sur une machine, due à une mauvaise installation d'ODBC, justement. Le piège était que le serveur PWS gelait sans qu'aucune explication ne soit donnée. Si vous utilisez ODBC pour accéder aux bases et que votre serveur web gèle à chaque appel à une source ODBC, voyez ici comment nous avons pisté et résolu le problème.
Préliminaires : les tests ont été faits sur une station Windows 2000 professionnel et un serveur Windows 2000.
Récupérer l'archive binaire win32.
Site de référence : http://www.php.net/
URL de download : http://www.php.net/downloads.php
Pour l'accès aux bases de données, l'installation d'ODBC doit être correctement faite par ailleurs. Personnellement j'ai opté pour MySQL. Le support de MySQL est natif dans PHP.
Procédure indiquée sur le site PHP (http://www.php.net/manual/install.unix.php#install.unix.apache-module) ou modifiée comme suit par l'équipe internet Créteil.
Note : j'ai créé un répertoire /root/src/ dans lequel j'ai copié les archives .tar.gz récupérées sur le web et je me suis placé dans ce répertoire. Par ailleurs, le symbole " qui se trouve à la fin de certaines lignes signifie que la commande se continue sur la ligne suivante ; ce ne sont pas deux commandes séparées.1. gunzip apache_1.3.12.tar.gz 2. tar xvf apache_1.3.12.tar 3. gunzip php-4.0.2.tar.gz 4. tar xvf php-4.0.2.tar 5. cd apache_1.3.12 6. ./configure --sysconfdir=/etc/httpd --datadir=/home/httpd --logfiledir=/var/log/httpd 7. cd ../php-4.0.2 8. ./configure --with-mysql with-config-file-path=/etc/httpd --with-apache=../apache_1.3.12 " --enable-track-vars --enable-ftp 9. make 10. make install On doit obtenir un message annonçant le succès de l'opération.11. cd ../apache_1.3.12 12. pour PHP 4: ./configure --sysconfdir=/etc/httpd --datadir=/home/httpd --logfiledir=/var/log/httpd " --activate-module=src/modules/php4/libphp4.a (pour PHP 3: ./configure --sysconfdir=/etc/httpd --datadir=/home/httpd --logfiledir=/var/log/httpd " --activate-module=src/modules/php3/libphp3.a) Note importante : à ce stade le fichier en question (liphp4.a) n'exsite pas encore. Il sera créé au cours des opérations de make. 13. make 14. make installOn doit obtenir un message annonçant le succès de l'opération.Au lieu de cette étape, on peut préférer écraser le binaire existant avec le nouveau httpd compilé. Bien entendu il faut stopper le serveur d'abord.15. cd ../php-4.0.2 16. Dans notre cas : le php.ini s'est installé dans /etc/httpd comme demandé lors de la configuration. (habituellement pour PHP 4: cp php.ini-dist /usr/local/lib/php.ini (habituellement pour PHP 3: cp php3.ini-dist /usr/local/lib/php3.ini)A ce stade on peut éditer le php.ini pour positionner différentes options PHP. Si vous souhaitez un autre répertoire pour le fichier de configuration (commme dans notre exemple) c'est l'option --with-config-file-path=/path à l'étape 8 qui permet de le faire. 17. Editer httpd.conf ou srm.conf (Moins recommandé. on tend actuellement à tout mettre dans httpd.conf): pour PHP 3: AddType application/x-httpd-php3 .php3 pour PHP 4: AddType application/x-httpd-php .php ou tout autre extension choisie. .php est actuellement recommandé. 18. Stopper le serveur http et le redémarrer (Ne pas se contenter d'un reload avec signal HUP ou USR1).A la fin de la procédure de configuration de PHP4 (étape 8) il y a cet avertissement. Il est important de bien en comprendre les implications. En cas de doute, ne pas compiler PHP4 avec les fonctionnalités MySQl incluses mais faire référence au réperoire d'installation de MySQL à la place.
+--------------------------------------------------------------------+ | *** WARNING *** | | | | You chose to compile PHP with the built-in MySQL support. If you | | are compiling a server module, and intend to use other server | | modules that also use MySQL (e.g, mod_auth_mysql, PHP 3.0, | | mod_perl) you must NOT rely on PHP's built-in MySQL support, and | | instead build it with your local MySQL support files, by adding | | --with-mysql=/path/to/mysql to your configure line. | +--------------------------------------------------------------------+Les répertoires
/etc/httpd/ (notre choix) configuration /var/log/httpd (notre choix) fichiers de log
E. Durup