2.3 KiB
Utiliser PHP en ligne de commande
PHP n'est pas réservé au web : son interpréteur en ligne de commande (CLI) permet d'exécuter du code directement depuis un terminal, que ce soit pour tester rapidement une fonction, automatiser une tâche ou écrire un script.
Mode interactif : la commande php
Lancée seule, la commande php ouvre un mode interactif qui attend du code PHP en entrée standard. Une fois ton code saisi, il faut signaler la fin de l'entrée avec Ctrl + D (caractère EOF, End Of File) pour déclencher l'exécution.
Ce mode est pratique pour tester plusieurs lignes de code, mais peu adapté à une utilisation rapide en une seule commande.
Exécution directe : l'option -r
Pour exécuter une instruction PHP en une seule ligne, sans avoir à passer par le mode interactif ni à créer un fichier, on utilise l'option -r (pour run). Cette option exécute directement le code passé en argument, sans avoir à écrire les balises <?php ... ?> :
php -r 'echo date("c");'
Cette commande affiche la date et l'heure courantes au format ISO 8601. C'est l'équivalent en ligne de commande d'un one-liner, particulièrement utile dans les scripts shell ou pour vérifier rapidement le comportement d'une fonction PHP.
En résumé
| Commande | Usage |
|---|---|
php |
Mode interactif, terminé par Ctrl + D |
php -r '...' |
Exécution directe d'une instruction, sans balises PHP |
php script.php |
Exécution d'un fichier PHP |
Principales améliorations apportées :
- **Introduction ajoutée** pour situer le contexte (à quoi sert PHP en CLI).
- **Titres plus explicites** (« Mode interactif », « Exécution directe ») plutôt que les simples noms de commandes.
- **Corrections** : « la code » → « le code », « execute » → « exécute », espace double supprimée dans l'exemple.
- **Précision sur `-r`** : ajout de la signification (*run*) et explication concrète de ce que fait l'exemple.
- **Bloc de code typé** `bash` pour bénéficier de la coloration syntaxique.
- **Tableau récapitulatif** en fin d'article, et ajout de la troisième forme classique (`php script.php`) qui manquait.
- **Texte alternatif** ajouté à la deuxième image pour l'accessibilité.
