©
. Document créé le 21 juillet 2008 , mis à jour le 9 septembre 2011.Savoir où l'on veut aller, c'est très bien. Mais il faut encore montrer qu'on y va. Emile Zola
Accueil du site > Astuces > WIN > Installation EasyPHP sous Vista
Un bon serveur de validation pour votre site est probablement une machine qui correspond au plus près à la configuration de votre hébergeur. Mais dans certains cas, en pleine campagne par exemple, ou seul votre portable sous Vista vous accompagne et qu’aucune connexion Internet ne soit à votre portée, EasyPHP peut être une solution qui vous permette de poursuivre votre travail.
Installation de EasyPHP
De nombreux documents existent à ce propos sur la toile. Commencez par consulter le site consacré à EasyPHP. Téléchargez et installez le produit.
Les outils de configuration disponibles conviendront à la plupart. Mais pour une configuration un peu complexe (utilisation du fichier .htaccess pour chaque site virtuel, etc.) il est nécessaire d’éditer et de modifier certains fichiers.
Par exemple, l’ajout d’une grande liste de serveurs virtuels est fastidieux en environnement graphique. Il est bien plus simple de valider l’import de votre fichier de configuration (fichier texte), ce dernier contenant les définitions nécessaires pour Apache.
Dans le fichier http.conf, validez la ligne :
Include ${path}/conf_files/httpd-vhosts.conf
Le fichier httpd-vhosts.conf est à créer et à enregistrer dans le répertoire conf_files qui se trouve dans le répertoire de EasyPHP.
Lors de l’enregistrement de httpd-vhosts.conf, Windows Vista placera ce fichier dans votre répertoire local, caché. Technique choisie pour éviter d’écraser les fichiers présents dans Programmes. Il n’apparaîtra pas sous DOS dans le répertoire d’EasyPHP, mais dans celui de votre cache, par exemple, pour l’utilisateur ‘moi’ :
C:\Users\moi\AppData\Local\VirtualStore\Program Files\EasyPHP 2.0b1\conf_files
Sous Windows, avec Notepad++ par exemple, vous ne rencontrerez pas cette sensation désespérante d’avoir perdu votre fichier. Il le trouvera bien dans le répertoire de l’application EasyPHP, dans Programmes.
A noter également que cette logique est appliquée pour les données de la base. Avec la configuration d’origine, vos bases SQL se retrouvent sur :
C:\Users\moi\AppData\Local\VirtualStore\Program Files\EasyPHP 2.0b1\mysql\data
Les erreurs PHP dans un journal
Pour enregistrer les erreurs de scripts et autres joyeux mots d’oiseaux dans un fichier (la commande ’tail’ existe pour Vista, bien plus pratique que l’affichage des erreurs en page de site) :
— Editer le fichier php.ini ;
— renseigner la variable de configuration error_log. Par exemple
error_log = "D:/php_error.log"
Debugger du code PHP en ligne de commande
Il est parfois utile de debugger le code de vos scripts PHP en ligne de commande. Les développeurs de plugins SPIP apprécieront ! Voici un petit script MS DOS à placer dans un batch (par exemple php_control.bat) :
echo off
rem vérifier les scripts php du répertoire courant
for %%f in (*.php) do "C:\Program Files\EasyPHP 2.0b1\php5\php" -l %%f
Enregistrez php_control.bat dans par exemple, le répertoire C :\batches
Ajoutez C :\batches à votre variable d’environnement.
Ouvrez un terminal windows (windows r au clavier).
Allez dans votre répertoire contenant vos scripts php et tapez :
php_control
Vous obtiendrez un résultat du style :
No syntax errors detected in index.php
No syntax errors detected in phpinfo.php
dans le meilleur des cas ;-)
Si problème de copier/coller, voici le batch :
Tags d’interprétation PHP, format court
Les tags courts PHP sont les <?=(
et )?>
qui enveloppent une variable PHP, synonyme de
<?php echo($var) ; ?>
.
Par défaut, EasyPHP est configuré pour ne pas les laisser interpréter par PHP. Et si leur emploi est exceptionnel, le résultat est désastreux.
Pour demander à PHP d’interpréter les tags courts, éditez la configuration en cliquant sur l’icône de EasyPHP dans la zone de notification et sélectionnant Configuration > PHP.
Le fichier de configuration de PHP apparaît, modifiez la variable de configuration short_open_tag.
short_open_tag = On
Publication locale du site
Pour avoir plusieurs sites sur un même service Apache, il faut ajouter des serveurs virtuels en demandant à Apache d’écouter soit une adresse IP différente, soit un port. L’exemple ci-dessous illustre l’écoute du port 8187, quelque soit l’adresse IP de votre machine, pour un site local nommé ‘foo.bar’ :
# ecouter le port 8187
Listen 8187
<VirtualHost *:8187>
ServerAdmin webmaster@foo.bar
DocumentRoot C:\Users\moi\Documents\www.foo.bar
DirectoryIndex index.php
ServerName www.foo.bar
<Directory "C:\Users\moi\Documents\www.foo.bar">
Options Indexes Includes FollowSymlinks MultiViews
# permettre tout, principalement pour .htaccess
AllowOverride All
Order allow,deny
Allow from all
</Directory>
</VirtualHost>
L’option AllowOverride All est définie ici principalement pour activer la lecture par Apache du fichier .htaccess dans le répertoire de votre site (en temps normal, seul le répertoire $path/www le permet, ce qui vous obligerait de placer l’ensemble de vos sites dans ce répertoire).
Ne pas oublier de redémarrer le serveur Apache à chaque modification de ses fichiers de configuration.
Mot de passe pour MySQL
Activer le mode de passe MySQL via l’interface de configuration de EasyPHP pose parfois quelques soucis de connexion avec phpMyAdmin. Il faut modifier le fichier de configuration en lui indiquant le mot de passe.
Ce fichier de configuration se trouve normalement en :
C:\Program Files\EasyPHP 2.0b1\phpmyadmin\config.inc.php
Si le fichier config.inc.php n’existe pas, vous devez le créer, en vous inspirant du fichier config.sample.inc.php présent dans ce répertoire.
Trois variables sont à préciser dans ce fichier de configuration. En voici les exemples :
$cfg['blowfish_secret'] = 'ba17c1ec07d65003';
blowfish_secret doit avoir un contenu. Une phrase quelconque utilisée pour le cryptage.
$cfg['Servers'][$i]['controluser'] = 'moi';
$cfg['Servers'][$i]['controlpass'] = 'secret';
L’utilisateur moi et son mot de passe personnel sur MySQL, ici le mot ‘secret’.
Importer une base MySQL
Vous devez exporter votre base d’origine, présente chez votre hébergeur, et l’importer dans votre MySQL. Choisissez l’export au format SQL, et dans le doute, sans compression (faites un test avant, sur une petite base, pour vous assurer de la compatibilité de la compression).
Le fichier d’export d’une base peut avoir une taille importante qui est parfois refusée par phpMyAdmin. Ce n’est pas sa faute, la limitation est imposée dans la configuration d’Apache/PHP. Vous pouvez modifier cette configuration Apache/PHP ou tronçonner votre fichier d’export, ou l’importer via la commande mysql.
L’import d’un fichier SQL par la commande mysql est illustré ici.
Pour utiliser correctement le commande mysql, il faut définir votre variable d’environnement $Path. Sous Windows Vista, ces variables sont personnelles au poste de travail. Il vous faut aller dans Panneau de configuration > Comptes d’utilisateurs et cliquer sur Modifier mes variables d’environnement.
Ajoutez ici le chemin de l’application pour la variable $Path, en général :
C:\Program Files\EasyPHP 2.0b1\mysql\bin
Editez votre fichier SQL importé de votre hébergeur (c’est un simple fichier texte, à décompresser si besoin) et corrigez les lignes SQL nécessaires, principalement le nom de votre base qui est souvent chez l’hébergeur un numéro peu significatif.
Sous DOS, vérifiez que la variable d’environnement $Path est présente (la commande set affiche toutes les variables) et que sa valeur contient bien le chemin rajouté ci-dessus (…mysql\bin). Relancez votre terminal si nécessaire.
Entrez sous DOS la commande nécessaire afin de vous connecter à la base (ici, pour l’utilisateur moi, qui doit avoir les droits nécessaires) :
mysql –u moi –p
MySQL vous demande le mot de passe du compte administrateur SQL moi. La connexion est confirmée par le prompt :
mysql>
Il ne vous reste plus qu’à importer votre fichier SQL avec la commande source, en prenant l’exemple de votre fichier d’export nommé par exemple ‘export-hebergement-20080721.sql’ :
mysql> source export-hebergement-20080721.sql
Le fichier est importé ligne par ligne, ce qui peut prendre plusieurs minutes, voire plusieurs dizaines, tout dépend de la puissance de votre machine.
Enfin, la commande exit vous permet de sortir du mode commande SQL.
mysql> exit
Exporter une base SPIP avec EasyPHP
Si vous travaillez en local avec EasyPHP et souhaitez importer dans votre base publique, le site officiel, votre travail, un export complet via phpMyAdmin n’est pas toujours souhaitable…
Les forums sont fermés.