Make sure your run CMD.exe as an administrator, otherwise you'll get an "access denied" when you run the commands.
Ligne de commande PHP sous Microsoft Windows
Cette section contient les notes et les astuces spécifiques à l'installation de PHP depuis la ligne de commande sous Windows.
Note:
Vous devriez lire les étapes du manuel d'installation d'abord !
Faire fonctionner PHP depuis la ligne de commande peut être effectué sans aucune modification de Windows.
C:\PHP5\php.exe -f "C:\PHP Scripts\script.php" -- -arg1 -arg2 -arg3
Mais il existe quelques étapes à suivre pour rendre ceci plus simple. La plupart de ces étapes ont déjà dû être faite, mais elles sont répétées ici pour fournir une séquence étape par étape complète.
-
Ajouter la localisation de l'exécutable PHP (php.exe, php-win.exe ou php-cli.exe suivant la version de PHP ainsi que les préférences d'affichage) à la variable d'environnement PATH. Vous trouverez plus d'informations concernant l'ajout du dossier PHP à la variable PATH dans l'entrée correspondante de la FAQ.
-
Ajouter l'extension .PHP à la variable d'environnement PATHEXT. Ceci peut être fait lors de la modification de la variable d'environnement PATH. Suivez les mêmes étapes que celles décrites dans la FAQ mais utilisez la variable PATHEXT au lieu de la variable d'environnement PATH.
Note:
La position à laquelle vous placez le .PHP déterminera le script ou le programme à exécuter lorsqu'un nom de fichier de cette forme sera trouvé. Par exemple, le fait de placer .PHP avant .BAT fera que votre script sera exécuté à la place du fichier batch, s'il y a un fichier batch avec le même nom.
-
Associer l'extension .PHP avec un type de fichier. Ceci peut être fait en exécutant la commande suivante :
assoc .php=phpfile
-
Associer le type de fichier phpfile avec l'exécutable PHP approprié. Ceci peut être fait en exécutant la commande suivante :
ftype phpfile="C:\PHP5\php.exe" -f "%1" -- %~2
Note:
Les variables PATH et PATHEXT sont des variables systèmes pré-existantes importantes sous Windows, et il est important de ne faire qu'ajouter des éléments, sans les écraser totalement.
Ces étapes permettent aux scripts PHP d'être exécutés depuis n'importe quel répertoire, sans pour autant spécifier l'exécutable PHP ou l'extension .PHP, et tous les paramètres seront passés au script pour traitement.
L'exemple ci-dessous montre les modifications pouvant être faites manuellement au registre Windows.
Exemple #1 Modification du registre
Windows Registry Editor Version 5.00 [HKEY_LOCAL_MACHINE\SOFTWARE\Classes\.php] @="phpfile" "Content Type"="application/php" [HKEY_LOCAL_MACHINE\SOFTWARE\Classes\phpfile] @="PHP Script" "EditFlags"=dword:00000000 "BrowserFlags"=dword:00000008 "AlwaysShowExt"="" [HKEY_LOCAL_MACHINE\SOFTWARE\Classes\phpfile\DefaultIcon] @="C:\\PHP5\\php-win.exe,0" [HKEY_LOCAL_MACHINE\SOFTWARE\Classes\phpfile\shell] @="Open" [HKEY_LOCAL_MACHINE\SOFTWARE\Classes\phpfile\shell\Open] @="&Open" [HKEY_LOCAL_MACHINE\SOFTWARE\Classes\phpfile\shell\Open\command] @="\"C:\\PHP5\\php.exe\" -f \"%1\" -- %~2"
Avec ces modifications, la même commande peut maintenant être écrite comme ceci :
"C:\PHP Scripts\script" -arg1 -arg2 -arg3
script -arg1 -arg2 -arg3
Note:
Il y a un petit problème si vous tentez d'utiliser cette technique et qu'en même temps, vous utilisez votre script PHP comme filtre d'une commande, comme ceci :
oudir | "C:\PHP Scripts\script" -arg1 -arg2 -arg3Vous pourriez trouver que le script s'interrompt et que rien ne s'affiche. Afin de rendre ceci opérationnel, vous devez effectuer une nouvelle modification au registre Windows.dir | script -arg1 -arg2 -arg3Plus d'informations concernant ce problème peuvent être trouvées dans » l'article de la base de connaissance Microsoft : 321788.Windows Registry Editor Version 5.00 [HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\policies\Explorer] "InheritConsoleHandles"=dword:00000001
If your trying to run assoc commands in windows 7(probably +)
start/windows button
type: cmd (in the "search programs and files" text box)
ctr+shift+enter (this runs it as administrator quickly)
yes (if there's a conformation, depends on your security level)
Note that the default behavior of php-cli is short_open_tag=off, which means PHP scripts using short tags `<? ?>` won't execute and instead show source code.
To fix this, you must edit the php.ini file and add short_open_tag=on
