Académique Documents
Professionnel Documents
Culture Documents
de PHP
I - Introduction
I-A - Remerciements
I-B - Préambule
I-C - Logiciels requis
I-C-1 - MySQL
I-C-2 - PHP
I-C-3 - Apache
I-C-4 - phpMyAdmin
I-C-5 - L'éditeur de code
II - Mise en place du serveur
II-A - MySQL 5
II-B - PHP
II-B-1 - PHP 4.4
II-B-2 - PHP 5.2
II-B-3 - PHP 6.0
II-B-4 - Note
II-C - Apache
II-C-1 - Apache 2.2
II-C-2 - Apache 2.0
II-C-3 - Apache 1.3
II-C-4 - Configuration des services Windows
II-C-5 - Note
II-D - phpMyAdmin
III - L'éditeur de code
III-A - PHP Eclipse
III-B - PHPEdit
III-C - Zend Studio
IV - Conclusion
IV-A - Épilogue
IV-B - Liens
-2-
Copyright © 2006 - Guillaume Rossolini. Aucune reproduction, même partielle, ne peut être faite de ce site et de l'ensemble de son contenu :
textes, documents, images, etc sans l'autorisation expresse de l'auteur. Sinon vous encourez selon la loi jusqu'à 3 ans de prison et jusqu'à 300
000 E de domages et intérêts.
http://g-rossolini.developpez.com/tutoriels/logiciels/alterner-entre-plusieurs-php/
Alterner entre plusieurs versions d'Apache et de PHP par Guillaume Rossolini
I - Introduction
I-A - Remerciements
Je remercie wamania et pcaboche pour leur relecture attentive et pour leurs conseils.
I-B - Préambule
Que vous soyez confirmé ou débutant, vous avez certainement remarqué la diversité des versions de PHP.
Actuellement, la version la plus courante en environnement de production est encore la branche 4.x, bien que la
branche 5.x soit souvent mise à disposition des développeurs qui le souhaitent (il suffit de donner l'extension
".php5" à vos scripts).
Cela implique des différences dans le comportement de vos scripts suivant le serveur qui les exécute et cela peut
avoir des conséquences fâcheuses si vous n'avez pas effectué vos tests dans de bonnes conditions. De plus,
encore trop de développeurs utilisent des solutions très pratiques pour débuter mais malheureusement trop en
retard. Ainsi, j'ai pensé qu'un petit tutoriel pourrait permettre de faire décoller PHP 5 avant l'arrivée de son
successeur PHP 6.
Nous allons utiliser plusieurs versions du serveur Web Apache et tirer profit de l'application "Apache Service
Monitor" afin d'installer plusieurs versions de PHP sur l'ordinateur vous servant dans vos développements. De
cette manière, il vous sera possible de changer de version de PHP en quelques clics. Bien sûr, un utilisateur
chevronné saura tirer profit de cette technique pour installer encore davantage de configurations différentes. Nous
nous contenterons ici d'en installer trois.
Pourquoi utiliser des versions différentes d'Apache ? Simplement car le service s'installe avec un nom que le
logiciel d'installation ne permet pas de configurer. Ainsi, Apache 2.2 s'installe sous le nom "Apache2.2" ;
l'installer deux fois dans deux répertoires différents ne modifierait pas ce nom de service, ce qui engendrerait
des conflits. La solution la plus simple est d'installer des services au nom différent, donc des versions
différentes.
Comme je l'ai suggéré plus tôt, il est possible d'adapter ce tutoriel de façon à utiliser plusieurs versions
identiques de PHP mais en les configurant différemment.
Avant de commencer, assurez-vous qu'aucun service Windows n'utilise le port 80. En particulier, IIS a
tendance à se lancer après certaines mises à jour de Windows : si c'est votre cas, commencez par le
désactiver (ainsi que tout autre serveur Web).
I-C-1 - MySQL
Pour nous simplifier la tâche, nous allons utiliser le plus populaire des serveurs de bases de données relationnelles
Open Source, à savoir MySQL. Je vous recommande d'utiliser la dernière version en ligne, bien que notre serveur
en production n'aie probablement qu'une version 3.23, puisque les dernières versions disposent généralement de
meilleures performances et une meilleure stabilité.
Pour écrire ce tutoriel, j'ai utilisé la version 5.0 (MySQL Windows Essentials) disponible sur le site officiel :
mysql.com.
-3-
Copyright © 2006 - Guillaume Rossolini. Aucune reproduction, même partielle, ne peut être faite de ce site et de l'ensemble de son contenu :
textes, documents, images, etc sans l'autorisation expresse de l'auteur. Sinon vous encourez selon la loi jusqu'à 3 ans de prison et jusqu'à 300
000 E de domages et intérêts.
http://g-rossolini.developpez.com/tutoriels/logiciels/alterner-entre-plusieurs-php/
Alterner entre plusieurs versions d'Apache et de PHP par Guillaume Rossolini
I-C-2 - PHP
Nous utiliserons trois versions de PHP. À chaque fois, nous téléchargerons la version ZIP des "binaires pour
Windows" plutôt que l'assistant d'installation. La raison est simple : l'assistant d'installation n'est pas utile pour
installer PHP.
• PHP 4.4 : Le site officiel : php.net (prenez la version "Windows Binaries / zip package") ;
• PHP 5.2 : Le site officiel : php.net (prenez la version "Windows Binaries / zip package") ;
• PHP 6.0 : Le site des versions en développement : snapshot.php.net (prenez la version "Win32 packages /
latest CVS").
I-C-3 - Apache
Enfin, nous aurons besoin du serveur Web Apache. C'est le plus populaire des serveurs Web du marché et c'est à
la fois l'un des plus stables et des plus puissants.
Pour écrire ce tutoriel, j'ai utilisé les versions 1.34, 2.0 et 2.2 disponibles sur le site officiel : httpd.apache.org.
Il est possible que la version 1.3 pour Windows ne soit plus disponible depuis le site officiel d'Apache mais les sites
de téléchargement vous permettront sans doute de trouver cette version.
I-C-4 - phpMyAdmin
N'oublions pas de télécharger la fameuse interface d'administration MySQL pour PHP, j'ai nommé phpMyAdmin.
À l'heure de l'écriture de ce cours, la version 2.90 de phpMyAdmin est disponible depuis le site officiel :
phpmyadmin.net.
-4-
Copyright © 2006 - Guillaume Rossolini. Aucune reproduction, même partielle, ne peut être faite de ce site et de l'ensemble de son contenu :
textes, documents, images, etc sans l'autorisation expresse de l'auteur. Sinon vous encourez selon la loi jusqu'à 3 ans de prison et jusqu'à 300
000 E de domages et intérêts.
http://g-rossolini.developpez.com/tutoriels/logiciels/alterner-entre-plusieurs-php/
Alterner entre plusieurs versions d'Apache et de PHP par Guillaume Rossolini
II-A - MySQL 5
En utilisant l'assitant d'installation, vous ne devriez rencontrer aucun problème et pouvoir mettre en place un
serveur en quelques minutes. Laissez la plupart des options par défaut et ne modifiez pas ce que vous ne
connaissez pas.
II-B - PHP
Installons maintenant PHP. La procédure est similaire pour les trois versions, d'autant que nous avons pris la
version ZIP (et non EXE).
Je vous recommande de créer au préalable un dossier "C:\PHP\" qui recueillera vos trois versions.
Décompressez l'archive dans le dossier "C:\PHP\4.4\" et copiez le fichier "php.ini-recommended" dans un nouveau
fichier nommé "php.ini" que vous placerez dans "C:\PHP\4.4\".
-5-
Copyright © 2006 - Guillaume Rossolini. Aucune reproduction, même partielle, ne peut être faite de ce site et de l'ensemble de son contenu :
textes, documents, images, etc sans l'autorisation expresse de l'auteur. Sinon vous encourez selon la loi jusqu'à 3 ans de prison et jusqu'à 300
000 E de domages et intérêts.
http://g-rossolini.developpez.com/tutoriels/logiciels/alterner-entre-plusieurs-php/
Alterner entre plusieurs versions d'Apache et de PHP par Guillaume Rossolini
Ne cherchez pas à activer PDO, il n'est disponible qu'à partir de PHP 5.x ; de même, l'extension MySQL est
incluse dans le core de PHP jusqu'à la version 5 et l'extension SQLite n'est pas encore présente.
Nous n'allons pas utiliser la méthode de la variable d'environnement PATH : nous donnerons directement la DLL
correcte au serveur Apache (cf. plus loin).
La dernière chose à faire est de déplacer le contenu du dossier "C:\PHP\4.4\sapi\" dans "C:\PHP\4.4\".
Décompressez l'archive dans le dossier "C:\PHP\5.2\" et copiez le fichier "php.ini-recommended" dans un nouveau
fichier nommé "php.ini" que vous laisserez dans "C:\PHP\5.2\".
• extension=php_gd2.dll
• extension=php_mysql.dll
• extension=php_pdo.dll
• extension=php_pdo_mysql.dll
• extension=php_pdo_sqlite.dll
• extension=php_sqlite.dll
Vous pouvez voir que PHP 4 et 5.2 n'utilisent pas les mêmes extensions. Les différences s'expliquent
principalement par la nouvelle orientation objet de PHP 5.
Enfin, il nous faut ajouter le répertoire de cette version de PHP dans la variable système PATH. Pour cela, ouvrez
les propriétés Système ("Démarrer --> Paramètres --> Panneau de configuration --> Système --> Avancé -->
Variables d'Environnement". Dans la liste des variables système, cherchez "Path" (la casse n'a pas d'importance)
et ajoutez-y ";C:\PHP\5.2" (sans les guillemets mais avec le point virgule).
Décompressez l'archive dans le dossier "C:\PHP\6.0\" et copiez le fichier "php.ini-recommended" dans un nouveau
fichier nommé "php.ini" que vous laisserez dans "C:\PHP\6.0\".
-6-
Copyright © 2006 - Guillaume Rossolini. Aucune reproduction, même partielle, ne peut être faite de ce site et de l'ensemble de son contenu :
textes, documents, images, etc sans l'autorisation expresse de l'auteur. Sinon vous encourez selon la loi jusqu'à 3 ans de prison et jusqu'à 300
000 E de domages et intérêts.
http://g-rossolini.developpez.com/tutoriels/logiciels/alterner-entre-plusieurs-php/
Alterner entre plusieurs versions d'Apache et de PHP par Guillaume Rossolini
• log_errors = On
• register_globals = Off
• magic_quotes_gpc = Off
• magic_quotes_runtime = Off
• include_path = ".;C:/Mes Documents/Web/includes"
• extension_dir = "C:/PHP/6.0/ext/"
• session.save_path = "C:/PHP/6.0/sessions/"
• session.cookie_domain = localhost
• session.entropy_file = "C:/PHP/6.0"
• extension=php_gd2.dll
• extension=php_mysql.dll
• extension=php_pdo.dll
• extension=php_pdo_mysql.dll
• extension=php_pdo_sqlite.dll
• extension=php_sqlite.dll
II-B-4 - Note
Au fur et à mesure du développement officiel de PHP et que les serveurs mutualisés se mettent à niveau,
n'hésitez pas à mettre à jour vos versions, en particulier la 6.0 que nous avons mise ici principalement afin de
nous permettre de tester les nouvelles fonctionnalités de PHP.
II-C - Apache
Voici comment nous allons procéder : nous allons installer les trois serveurs Apache, configurer le même répertoire
"DocumentRoot" pour tous les trois et enfin attribuer à chacun une version différente de PHP.
Ainsi, nous aurons besoin d'un répertoire DocumentRoot qui accueillera vos sites Web. Je vous propose de le
mettre dans Vos Documents mais soyez libres de faire à votre guise. Je vais donc parler du dossier "C:\Mes
Documents\Web\" mais n'hésitez pas à utiliser n'importe quel autre dossier à la place de celui-ci.
• C:\Mes Documents\Web\
• C:\Mes Documents\Web\includes\ (nous permettra de situer nos scripts de configuration)
• C:\Mes Documents\Web\www\ (nous permettra de placer nos scripts accessibles par le Web)
Lorsqu'on vous demande le nom du serveur et son adresse, donnez "localhost". Peu importe votre adresse e-mail.
-7-
Copyright © 2006 - Guillaume Rossolini. Aucune reproduction, même partielle, ne peut être faite de ce site et de l'ensemble de son contenu :
textes, documents, images, etc sans l'autorisation expresse de l'auteur. Sinon vous encourez selon la loi jusqu'à 3 ans de prison et jusqu'à 300
000 E de domages et intérêts.
http://g-rossolini.developpez.com/tutoriels/logiciels/alterner-entre-plusieurs-php/
Alterner entre plusieurs versions d'Apache et de PHP par Guillaume Rossolini
Avant de poursuivre, utilisez le gestionnaire de services Apache pour arrêter le service "Apache 2.2".
Lorsqu'on vous demande le nom du serveur et son adresse, donnez "localhost". Peu importe votre adresse e-mail.
Prenez garde à modifier le répertoire d'installation à "C:\Program Files\Apache Software Foundation\".
-8-
Copyright © 2006 - Guillaume Rossolini. Aucune reproduction, même partielle, ne peut être faite de ce site et de l'ensemble de son contenu :
textes, documents, images, etc sans l'autorisation expresse de l'auteur. Sinon vous encourez selon la loi jusqu'à 3 ans de prison et jusqu'à 300
000 E de domages et intérêts.
http://g-rossolini.developpez.com/tutoriels/logiciels/alterner-entre-plusieurs-php/
Alterner entre plusieurs versions d'Apache et de PHP par Guillaume Rossolini
Avant de poursuivre, utilisez le gestionnaire de services Apache pour arrêter le service "Apache 2.0".
Lorsqu'on vous demande le nom du serveur et son adresse, donnez "localhost". Peu importe votre adresse e-mail.
Prenez garde à modifier le répertoire d'installation à "C:\Program Files\Apache Software Foundation\".
Avant de poursuivre, utilisez le gestionnaire de services Apache pour arrêter le service "Apache 1.3".
Nous aurons besoin de la console d'administration des Services de Windows, accessible depuis "Démarrer /
Paramètres / Panneau de Configuration / Outils d'administration / Services".
Le souci est que les trois services Apache sont configurés pour s'initier au lancement de Windows, ce qui pose un
souci car ils utilisent tous les trois le port numéro 80 pour écouter le réseau. Il nous faut y remédier à l'aide de
l'administrateur de Services de Windows dont je vous ai parlé plus haut.
Dans la liste des services, cherchez les trois Apache. Normalement, vous les avez désactivés au fur et à mesure.
-9-
Copyright © 2006 - Guillaume Rossolini. Aucune reproduction, même partielle, ne peut être faite de ce site et de l'ensemble de son contenu :
textes, documents, images, etc sans l'autorisation expresse de l'auteur. Sinon vous encourez selon la loi jusqu'à 3 ans de prison et jusqu'à 300
000 E de domages et intérêts.
http://g-rossolini.developpez.com/tutoriels/logiciels/alterner-entre-plusieurs-php/
Alterner entre plusieurs versions d'Apache et de PHP par Guillaume Rossolini
L'objectif ici est simplement de désactiver le lancement automatique de deux des trois services afin qu'il n'y ait pas
de conflit. Il vous faut donc choisir un service qui se lancera par défaut avec Windows, tandis que les deux autres
resteront inactifs jusqu'à ce que vous les appeliez par le Moniteur Apache. De manière à développer en
permanence avec PHP 5.2 installé sur votre serveur Apache 2.0, je vous recommande de désactiver Apache 1.3 et
Apache 2.2. Double cliquez sur l'un d'eux, changez son type de démarrage à "manuel" et validez. Répétez
l'opération pour le deuxième.
II-C-5 - Note
Vous avez maintenant non seulement trois versions de PHP mais aussi un moyen simple de tester vos scripts avec
l'une ou l'autre de ces versions : il vous suffit d'utiliser le Moniteur Apache disponible dans votre barre des tâches
afin de désactiver un serveur puis d'en lancer un autre.
Pour passer d'une version de PHP à une autre, ouvrez votre "Apache Service Monitor" et jonglez avec les
services Apache.
- 10 -
Copyright © 2006 - Guillaume Rossolini. Aucune reproduction, même partielle, ne peut être faite de ce site et de l'ensemble de son contenu :
textes, documents, images, etc sans l'autorisation expresse de l'auteur. Sinon vous encourez selon la loi jusqu'à 3 ans de prison et jusqu'à 300
000 E de domages et intérêts.
http://g-rossolini.developpez.com/tutoriels/logiciels/alterner-entre-plusieurs-php/
Alterner entre plusieurs versions d'Apache et de PHP par Guillaume Rossolini
II-D - phpMyAdmin
Installer phpMyAdmin est très simple (j'ai pris la version "phpMyAdmin-2.9.0.3-all-languages" pour mon exemple) :
décompressez le répertoire dans "C:\Mes Documents\Web\www\phpmyadmin\" (accoutumez-vous à ne jamais
utiliser de majuscules dans votre arborescence Web).
- 11 -
Copyright © 2006 - Guillaume Rossolini. Aucune reproduction, même partielle, ne peut être faite de ce site et de l'ensemble de son contenu :
textes, documents, images, etc sans l'autorisation expresse de l'auteur. Sinon vous encourez selon la loi jusqu'à 3 ans de prison et jusqu'à 300
000 E de domages et intérêts.
http://g-rossolini.developpez.com/tutoriels/logiciels/alterner-entre-plusieurs-php/
Alterner entre plusieurs versions d'Apache et de PHP par Guillaume Rossolini
Bien sûr, votre station de développement serait incomplète sans un bon éditeur de code. La popularité de PHP a
fait fleurir le marché d'éditeurs très intéressants. Je ne peux malheureusement pas tous les présenter ici.
Afin de rester à peu près neutre, je vais vous proposer trois environnements de développement : PHP Eclipse
(Eclipse Foundation) est complètement gratuit tandis que PHPEdit (Waterproof SARL), disponible en version
personnelle ou professionnelle, a ma préférence (c'est évidemment un choix complètement subjectif) et que Zend
Studio est principalement orienté vers les professionnels.
Je ne vais pas développer extensivement cette partie, bien qu'elle le nécessite. La raison est simple : cela sort
du cadre de ce tutoriel, d'autres cours plus spécialisés permettront d'entrer davantage dans le détail.
Après avoir installé Eclipse (téléchargé au préalable), il nous faut installer le plug-in qui nous permettra d'utiliser
PHP Eclipse. Pour cela, cliquez sur le bouton "New Remote Site" et indiquez le nom "PHP Eclipse" ainsi que l'URI
"http://pingestonegroup.com/eclipse/updates/". Eclipse s'occupera alors de récupérer la liste des plugins
disponibles. Sélectionnez le package "PHP Eclipse" (dont au moins le plug-in "PHP Eclipse") puis validez. Une liste
de composants apparaît : sélectionnez ceux que vous souhaitez utiliser, validez et suivez le reste des instructions.
Vous avez maintenant l'un des environnements de développement les plus performants du marché : non content
d'être l'éditeur de code favori d'un grand nombre de développeurs Java, sa popularité s'étend peu à peu à d'autres
langages de programmation.
III-B - PHPEdit
- 12 -
Copyright © 2006 - Guillaume Rossolini. Aucune reproduction, même partielle, ne peut être faite de ce site et de l'ensemble de son contenu :
textes, documents, images, etc sans l'autorisation expresse de l'auteur. Sinon vous encourez selon la loi jusqu'à 3 ans de prison et jusqu'à 300
000 E de domages et intérêts.
http://g-rossolini.developpez.com/tutoriels/logiciels/alterner-entre-plusieurs-php/
Alterner entre plusieurs versions d'Apache et de PHP par Guillaume Rossolini
Waterproof SARL est une entreprise française de développement de solutions professionnelles pour PHP.
Après vous être inscrit sur le site de Waterproof, vous pouvez télécharger le logiciel PHPEdit et ses divers plug-ins
via votre "Extranet" (le lien apparaît en haut à droite après que vous vous soyez connecté).
C'est également dans cet Extranet que vous pouvez trouver les licenses dont vous aurez besoin. Téléchargez les
licenses d'évaluation auxquelles votre inscription vous donne accès puis lancez l'installation du logiciel. Sachez
que vous pouvez demander une license personnelle (gratuite et illimitée) par simple lettre de motivation via votre
Extranet.
À la fin de l'installation, PHPEdit vous propose une interface de configuration afin de vous permettre d'utiliser le
logiciel selon vos préférences. Lorsque cela vous est demandé, n'oubliez pas de préciser l'emplacement de vos
scripts d'inclusion dont nous avons parlé plus tôt : "C:\Mes Documents\Web\includes\".
Les développeurs de Zend sont les créateurs du Zend Engine, le moteur de PHP. Autant dire qu'ils en connaissent
les entrailles...
L'installation est plutôt simple, je ne m'étendrai pas dessus. Sachez seulement que le Zend Studio n'est pas
disponible en version gratuite puisque, tel que je l'ai précisé auparavant, c'est un IDE destiné aux professionnels.
- 13 -
Copyright © 2006 - Guillaume Rossolini. Aucune reproduction, même partielle, ne peut être faite de ce site et de l'ensemble de son contenu :
textes, documents, images, etc sans l'autorisation expresse de l'auteur. Sinon vous encourez selon la loi jusqu'à 3 ans de prison et jusqu'à 300
000 E de domages et intérêts.
http://g-rossolini.developpez.com/tutoriels/logiciels/alterner-entre-plusieurs-php/
Alterner entre plusieurs versions d'Apache et de PHP par Guillaume Rossolini
IV - Conclusion
IV-A - Épilogue
L'installation manuelle de MySQL, PHP et Apache peut se faire de manière réellement simple. Il n'est pas
nécessaire d'avoir recours à des logiciels comme WAMP et EasyPHP, d'autant que ce dernier a une fâcheuse
tendance à rester plusieurs versions en retard.
Je recommande vivement à tout développeur PHP de mettre en place son environnement de développement
manuellement dès qu'il a acquis un peu d'expérience. Cela lui permet d'obtenir ou de confirmer ses connaissances
en sécurité, ce qui est indispensable.
IV-B - Liens
• Tutoriel "serveurs" : Résoudre l'incompatibilité entre PHP 5.1 et Apache 2.2, par Frédéric Mereu ;
• Tutoriel "serveurs" : Installation de PHP pour IIS, par Olivier Delmotte ;
• Comparatif "outils" : Les éditeurs de code, par Hugo Étiévant ;
• Livre "outil" : PHP Eclipse - A User Guide, critique par Guillaume Rossolini ;
• Test "outil" : PHPEdit - Un IDE complet pour PHP, par Guillaume Rossolini.
• Apache ;
• MySQL ;
• PHP ;
• WAMP (déconseillé dans ce tutoriel) ;
• EasyPHP (déconseillé dans ce tutoriel).
- 14 -
Copyright © 2006 - Guillaume Rossolini. Aucune reproduction, même partielle, ne peut être faite de ce site et de l'ensemble de son contenu :
textes, documents, images, etc sans l'autorisation expresse de l'auteur. Sinon vous encourez selon la loi jusqu'à 3 ans de prison et jusqu'à 300
000 E de domages et intérêts.
http://g-rossolini.developpez.com/tutoriels/logiciels/alterner-entre-plusieurs-php/