Maison  >  Article  >  développement back-end  >  Comment puis-je transmettre des variables aux scripts PHP à partir de la ligne de commande ?

Comment puis-je transmettre des variables aux scripts PHP à partir de la ligne de commande ?

Barbara Streisand
Barbara Streisandoriginal
2024-11-12 18:19:02933parcourir

How Can I Pass Variables to PHP Scripts from the Command Line?

Transmettre des variables aux scripts PHP via la ligne de commande

Lors de l'exécution de scripts PHP à partir de la ligne de commande, il est nécessaire de transmettre des variables pour contrôler le script. comportement. Cependant, l'approche couramment utilisée pour les pages Web, myfile.php?type=daily, peut ne pas fonctionner.

Passage de paramètres via $argv

Pour transmettre des variables du ligne de commande, utilisez le tableau $argv. Lors de l'exécution quotidienne de php myfile.php, $argv[1] contiendra la valeur "quotidiennement". Cela contraste avec les pages Web, où les paramètres de chaîne de requête sont stockés dans $_GET.

Alternatives pour l'utilisation des pages Web

Si le script PHP sert également de script Web page, il existe deux solutions possibles :

  1. Shell Script et Wget : Créez un script shell qui invoque Wget pour récupérer la page avec le paramètre requis :
#!/bin/sh
wget http://location.to/myfile.php?type=daily

Exécutez ce script depuis cron pour transmettre la variable.

  1. Détection dans PHP : Vérifiez dans le script PHP s'il est accessible via la ligne de commande ou via le Web. if (défini('STDIN')) {
    $type = $argv[1];
    } else {
    $type = $_GET['type'];
    }

Limitations

Notez que l'utilisation de $argv[1] suppose que le l'appel en ligne de commande fournit le paramètre nécessaire. Vérifiez toujours si $argv contient suffisamment de variables.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn