Subscribe:

Ads 468x60px

samedi 28 août 2010

utiliser php en ligne de commande avec wamp ou xampp

  Pour les nouveaux c'est pas facile de se retrouver et savoir utiliser php en ligne de commande. J'ai eu cette difficulté notamment en voulant utiliser le framework symfony, j'ai pu la surmonter alors je partage mon expérience. Tout d'abord ces instructions ne servent à quelque chose que si vous avez dejà installé php notamment avec wamp ou xampp pour que les choses soient bien claires.


  Sous Windows avec une install wampserver, il faut d'abord localiser le fichier php.exe qui se trouve normalement à l'adresse "C:\wamp\bin\php\php5.2.11\php.exe". Notez que "php5.2.11" peut varier selon votre version de php. Une fois que vous avez l'adresse qu'on considèrera dans la suite comme étant celle énoncée plus haut, il suffit d'entrer une commande du type:
C:\wamp\bin\php\php5.2.11\php.exe -f {votrefichier.php} -- -arg1 -arg2 -arg3
{votrefichier.php} doit être le chemin (absolu ou relatif) du script que vous voulez exécuter.
On voit bien que c'est une commande fastidieuse et finalement embêtante. Heureusement il y a un moyen de faire plus simple. Pour celà on va modifier certaines variables d'environnement de Windows. Pour accéder à ces variables il faut se rendre à Panneau de Configuration -> Système et sécurité -> Système puis on clique dans la colonne de gauche sur Paramètres Système Avancés (en tout cas c'est comme ça sur Windows 7, sinon c'est pas très différent il faut juste retrouver cette fenetre "Paramètres Système Avancés" qui est en fait un onglet de la fenetre "Propriétés sytème", on peut même faire une recherche dans "Aide et support").
Une fois sur cet onglet, on clique en bas à droite sur "Variables d'environnement". Pour modifier les variables il suffit de double cliquer dessus ou bien on sélectionne (un clic) et on clique sur Modifier.
  Nous allons maintenant commencer par modifier la variable Path et ajouter à la fin ";C:\wamp\bin\php\php5.2.11". Vous l'aurez compris c'est le chemin absolu de votre fichier php.exe qu'il faut mettre. Ne pas oublier le ';' au début.
  Ensuite il faut ajouter l'extension ".PHP" à la variable d'environnement PATHEXT sans oublier un ';' avant.
  Après il faut taper les commandes suivantes dans l'invite de commande:
assoc .php=phpfile
                  ce qui permet d'associer l'extension .php avec un type de fichier
ftype phpfile="C:\wamp\bin\php\php5.2.11\php.exe" -f "%1" -- %~2
pour associer le type de fichier phpfile à l'exécutable php.exe.
Après avoir fait celà, il suffit de taper une commande du genre
php {monfichier.php}
pour exécuter n'importe quel script php. {monfichier.php} est le chemin absolu ou relatif du script à exécuter.

  Sous linux avec une install xampp, on utilise la commande:
/opt/lampp/bin/php {votrefichier.php} {options}
  Pour ne pas avoir à taper cette looongue commande à chaque fois, il faut montrer au shell où il peut trouver le programme php. En effet, lorsqu'on tape une commande dans le shell, il cherche dans des répertoires définis par la variable d'environnement PATH le programme correspondant. Celà se fait avec la commande suivante:
PATH=$PATH:/opt/lampp/bin
  Par la suite, pour utiliser php en ligne de commande sous le shell, il suffit de taper:
php {votrefichier.php} {options}
  Cependant, cette configuration ne sera valide que pendant la session en cours. A la prochaine session, la valeur de PATH est réinitialisée. Il faut donc ajouter la commande dans un fichier nommé .bashrc qui est chargé à chaque fois que vous lancez le terminal. Pour faire celà on peut juste utiliser la commande suivante:
echo 'PATH=$PATH:/opt/lampp/bin' >> $HOME/.bashrc
Explications: on inscrit dans le fichier .bashrc la commande de configuration qui est donc exécutée à chaque fois que le shell est lancé; le fichier .bashrc est situé dans votre répertoire /home/user, cette adresse est aussi contenue dans la variable d'environnement HOME. On aurait pu ouvrir ce même fichier avec un éditeur de texte et y ajouter la commande.

On voit bien qu'au finish, c'est à peu près les mêmes configurations à faire que ce soit sous windows ou sous linux.
Hope it helps someone.

4 comments:

La mystérieuse a dit…

bonjour,
en suivant les tapes mentionnées (pour la version php5.3.13)
> assoc .php=phpfile ==> accès refusé une erreur s'est prduit lors du traitement de .php !!

Doogy1st a dit…

Salut La Mysterieuse, un peu tard mais je penses qu'il faut ouvrir l'invite de commandes en mode "Executer en tant que Administrateur".

Anonyme a dit…

Je suis connecté en tant qu'administrateur et ça ne marche pas

Anonyme a dit…

Pouvez-vous élaborer sur l'erreur que vous obtenez?

Enregistrer un commentaire