Pourquoi PHP ajoute-t-il automatiquement « 1 » lorsque j'exécute la commande ?
P粉512729862
P粉512729862 2023-09-17 13:04:54
0
1
532

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

P粉512729862
P粉512729862

répondre à tous(1)
P粉990568283

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 :

$output = shell_exec($cd_command . '&&' . $command);

Ou, pour rendre votre code global plus propre :

function getData($var_one)
{
    $command = 'cd Location && python getData.py ' . $var_one;
    $output = shell_exec($command);
    return $output;
}

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 :

function getData($var_one)
{
    $command = 'python Location/getData.py ' . $var_one;
    $output = shell_exec($command);
    return $output;
}

Vous pouvez le simplifier comme suit :

function getData($var_one)
{
    return shell_exec('python Location/getData.py ' . $var_one);
}
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal
À propos de nous Clause de non-responsabilité Sitemap
Site Web PHP chinois:Formation PHP en ligne sur le bien-être public,Aidez les apprenants PHP à grandir rapidement!