|
4.4.11.4 Construction de PHP en utilisant le nouveau système de construction [PHP >=5 uniquement]
Ce chapitre explique comment compiler PHP >=5 en utilisant le nouveau
système de construction, basé sur CLI et extrèmement similaire au système de
construction Unix pour PHP.
Avant de commencer, assurez-vous d'avoir lu
Compiler tout ensemble et d'avoir construit toutes les bibliothèques
nécessaire, comme Libxml ou
ICU (nécessaire pour PHP >= 6).
D'abord, vous devez ouvrir un prompt de commande Visual Studio, qui
doit être disponible avec le menu Démarrer. Un prompt de commande
classique ne fonctionnera pas, car il n'aura probablement pas les variables
d'environnements nécessaires. Puis, tapez quelque chose comme
cd C:\work\php-5.x.x
pour entrer dans le dossier
contenant les sources de PHP. Maintenant, vous êtes prêt à configurer PHP.
La seconde étape consiste à exécuter le fichier
buildconf
afin de lancer le script de configuration, en scannant le dossier à la recherche des fichiers
config.w32
. Par défaut, cette commande recherchera également
dans les dossiers suivants :
pecl;
..\pecl; pecl\rpc; ..\pecl\rpc
. Depuis PHP 5.1.0, vous pouvez changer
ce comportement en utilisant l'argument
--add-modules-dir
(e.g.
cscript /nologo win32/build/buildconf.js
--add-modules-dir=../php-gtk2 --add-modules-dir=../pecl
).
La troisième étape consiste en la configuration. Pour voir la liste des options de
configuration, tapez la commande
cscript /nologo configure.js
--help
.Après avoir choisies les options à activer ou non, tapez
quelque chose comme :
cscript /nologo configure.js --disable-foo
--enable-fun-ext
. En utilisant l'argument
--enable-foo=shared
,
vous tenterez de construire l'extension 'foo' en tant que module partagé, dynamiquement
chargeable.
La dernière étape est la compilation. Pour ce faire, entrez simplement la commande
nmake
. Les fichiers générés (e.g. .exe et .dll) seront
placés soit dans le dossier
Release_TS
,
soit dans le dossier
Debug_TS
(si
vous avez compilé avec le
Thread safety
), ou sinon, dans le dossier
Release
ou le dossier
Debug
.
Optionnellement, vous pouvez vouloir exécuter une suite de test PHP en tapant
la commande
nmake test
. Si vous ne voulez effectuer
qu'un test précis, vous devez utiliser la variable 'TESTS' (e.g.
nmake /D TESTS=ext/sqlite/tests
test
- exécutera que les tests sqlite). Pour effacer les fichiers créés
pendant la compilation, vous pouvez utiliser la commande
nmake
clean
.
Une option de configuration vraiement utile pour la construction de snapshots
est l'option
--enable-snapshot-build
, qui ajoute un nouveau mode
de compilation (
nmake build-snap
). Celui-ci tente
de compiler chaque extension de disponible (en tant que partagé par défaut) en
ignornant les erreurs de compilation dans les extensions individuelles ou SAPI.
|