J'ai un fichier Python qui appelle une API et obtient des informations que j'ai ensuite besoin d'utiliser dans un fichier PHP. Mais lors de l'exécution de PHP, j'obtiens l'erreur "'1' n'est pas reconnu comme une commande interne ou externe, un programme exploitable ou un fichier batch." Est-ce lié à mon utilisation de sys.argv dans le fichier Python ? Plus précisément :
id_num = sys.argv[1]
Le code PHP que je teste est le suivant :
<?php function getData($var_one) { $cd_command = 'cd Location'; $command = 'python getData.py ' . $var_one; print($command); $output = shell_exec($cd_command && $command); return $output; } $test_string = getData("CRT67547"); print($test_string); ?>
Imprimez-le pour vous assurer qu'il n'y a pas de problème avec la commande et que l'impression semble correcte.
L'impression est la suivante : python getData.py CRT67547
Edit : Relisez la question, révisée pour plus de clarté
Vous devrez peut-être modifier les opérateurs logiques
shell_exec
参数。在PHP中,&&
是一个AND
dans votre PHP, mais je suppose que vous souhaitez qu'il soit exécuté dans le shell avec vos deux commandes, comme ceci :Ou, pour rendre votre code global plus propre :
Votre shell devrait alors fonctionner
cd Location && python getData.py CRT67547
.En fonction de l'emplacement que vous avez défini, vous pouvez même faire ceci :
Vous pouvez le simplifier comme suit :