Avant de commencer, il est bon de se poser la question suivante :
"Pourquoi la compilation de PHP sous Windows est si difficile?".
Deux raisons viennent immédiatement à l'esprit :
Windows ne dispose pas (encore) d'une grande communauté de
développeurs qui partagent librement leurs sources.
La conséquence directe est que les investissements
nécessaires en infrastructure pour supporter ce
type de développement n'ont pas été faits. Ce qui fait
que le portage des utilitaires Unix a été la solution
pour pallier ce manque. Ne soyez donc pas surpris de
rencontrer cette parenté de temps en temps.
La majorité des instructions que vous allez rencontrer sont
du type : "faire et oublier". Alors, asseyez-vous confortablement
et suivez aussi scrupuleusement que possible les instructions.
Pour compiler l'exécutable PHP, vous avez besoin d'un
Microsoft Development Environment. Microsoft Visual C++ 6.0 est recommendé.
Pour extraire le fichier téléchargé, vous avez besoin d'un outil
de décompression (e.g.: Winzip). Si vous n'avez pas encore d'utilitaire
de décompression, vous pouvez en télécharger un chez
InfoZip.
Avant de commencer, vous devez télécharger...
Finalement, vous aurez besoin des sources PHP elles-mêmes.
Les dernières versions sont accessibles sur le serveur
CVS anonyme.
Vous pouvez aussi télécharger
une version intermédiaire
ou l'archive des sources la
plus récente.
Après téléchargement des paquets nécessaires, vous devez les extraire
au bon endroit.
Créez un dossier où tous les fichiers seront placés après l'extraction,
par exemple : C:\work.
Créez le dossier win32build dans votre dossier
de travail (ici C:\work) et décompressez
win32build.zip dedans.
Créez le dossier bindlib_w32 sous votre dossier
de travail (ici C:\work)
et décompressez bindlib_w32.zip dedans.
Décompressez le code source de PHP dans votre dossier de travail
(C:\work).
Après avoir suivi ces instructions, vous devriez obtenir un dossier
qui ressemble à ceci :
Exemple 6-8. Structure de la distribution source pour compilation sous Windows +--c:\work
| |
| +--bindlib_w32
| | |
| | +--arpa
| | |
| | +--conf
| | |
| | +--...
| |
| +--php-4.x.x
| | |
| | +--build
| | |
| | +--...
| | |
| | +--win32
| | |
| | +--...
| |
| +--win32build
| | |
| | +--bin
| | |
| | +--include
| | |
| | +--lib |
|
Créez les dossiers c:\usr\local\lib.
Copiez le fichier bison.simple depuis
>c:\work\win32build\bin vers
c:\usr\local\lib.
Note :
Les utilisateurs de Cygwin peuvent omettre la
dernière étable. Un environnement Cygwin correctement installé fournit les
fichiers obligatoires de bison.simple et
bison.exe.
L'étape suivante est la configuration de MVC ++ pour préparer la compiler.
Lancez Microsoft Visual C++, et allez dans le menu
"select Tools => Options". Dans le dialogue,
sélectionnez l'onglet "directories".
Modifiez les valeurs pour les éléments du menu
Executables, Includes
et Library. Votre configuration
doit alors ressembler à ceci :
Fichiers exécutables :
c:\work\win32build\bin,
Utilisateurs Cygwin : cygwin\bin
Fichiers d'en-têtes :
c:\work\win32build\include
Fichiers bibliothèques :
c:\work\win32build\lib
Vous devez compiler la bibliothèque resolv.lib.
Decidez si vous avez besoin des symboles de débogage
(bindlib - Win32 Debug) ou non (bindlib - Win32 Release).
Compilez la configuration ad hoc :
Pour les utilisateurs de l'interface graphique, lancez VC++, puis sélectionnez le
menu "File => Open Workspace", naviguez dans le répertoire
c:\work\bindlib_w32 et
sélectionnez le fichier bindlib.dsw. Puis sélectionnez
"Build=>Set Active Configuration" et sélectionnez la configuration
voulue. Enfin, sélectionnez "Build=>Rebuild All".
Pour les utilisateurs en ligne de commande, assurez-vous que
vous avez enregistré les variables d'environnement C++, ou que
vous avez exécuté vcvars.bat. Exécutez
maintenant l'une des commandes suivantes :
A ce stade, vous avez une bibliothèque resolv.lib
utilisable, soit dans votre dossier
c:\work\bindlib_w32\Debug,
soit sans le dossier Release. Copiez ce fichier
dans votre dossier
c:\work\win32build\lib, en remplaçant
le fichier du même nom.
La meilleure façon de compiler est de commander par la version
CGI/exécutable.
Pour les utilisateurs GUI, lancez VC++, puis sélectionnez le
menu "File => Open Workspace" et sélectionnez
c:\work\php-4.x.x\win32\php4ts.dsw.
Ensuite,
sélectionnez le menu "Build=>Set Active Configuration",
et sélectionnez la configuration voulue, soit
php4ts - Win32 Debug_TS ou
php4ts - Win32 Release_TS.
Finalement, sélectionnez le menu "Build=>Rebuild All".
Pour les utilisateurs en ligne de commande, assurez-vous que
vous avez enregistré les variables d'environnement C++, ou que
vous avez exécuté vcvars.bat. Exécutez
maintenant l'une des commandes suivantes depuis le dossier
c:\work\php-4.x.x\win32 :
msdev php4ts.dsp /MAKE "php4ts - Win32 Debug_TS"
msdev php4ts.dsp /MAKE "php4ts - Win32 Release_TS"
A ce stade, vous avez un exécutable php.exe
utilisable, soit dans votre dossier
c:\work\php-4.x.x.\Debug_TS
soit sans le sous dossier Release_TS.
Il est possible de faire des modifications particulières mineures
en éditant le fichier main/config.win32.h.in.
Par exemple, vous pouvez changer la localisation du php.ini, des extensions
internes ainsi que la localisation par défaut de ces extensions.
Ensuite, vous pouvez compiler la version CLI qui est conçue pour un
usage en
ligne de commande de PHP.
Les étapes sont les mêmes que pour la compilation en mode CGI, hormis
le fait que vous devez sélectionner php4ts_cli - Win32 Debug_TS ou
php4ts_cli - Win32 Release_TS dans le fichier de projet.
Après une compilation réussie, vous pouvez exécuter le fichier
php.exe dans l'un des dossiers
Release_TS\cli\ ou
Debug_TS\cli\.
Note :
Si vous voulez utiliser PEAR et l'installeur en ligne de commande,
la version CLI-SAPI est obligatoire. Pour plus d'informations sur le projet
PEAR et l'installeur, lisez la documentation sur le site de
PEAR.
Afin de compiler le module SAPI (php4isapi.dll
pour l'intégrer dans Microsoft IIS, vous devez utiliser la configuration
php4isapi-whatever-config et compiler la DLL
nécessaire.
|