cari

Rumah  >  Soal Jawab  >  teks badan

Mengapakah PHP menambah '1' secara automatik apabila saya melaksanakan arahan?

Saya mempunyai fail Python yang memanggil API dan mendapat beberapa maklumat yang kemudiannya perlu saya gunakan dalam fail PHP. Tetapi apabila menjalankan PHP, saya mendapat ralat "'1' tidak diiktiraf sebagai perintah dalaman atau luaran, program yang boleh dikendalikan atau fail kelompok." Adakah ini berkaitan dengan penggunaan sys.argv saya dalam fail Python? Khususnya:

id_num = sys.argv[1]

Kod PHP yang saya uji adalah seperti berikut:

<?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);
?>

Cetak untuk memastikan tiada masalah dengan arahan dan cetakan kelihatan baik. Cetakan adalah seperti berikut: python getData.py CRT67547

P粉512729862P粉512729862423 hari yang lalu537

membalas semua(1)saya akan balas

  • P粉990568283

    P粉9905682832023-09-18 00:50:04

    Sunting: Baca semula soalan, disemak untuk kejelasan

    Anda mungkin perlu mengubah suai shell_exec参数。在PHP中,&&是一个AND operator logik dalam PHP anda, tetapi saya mengandaikan anda mahu ia dilaksanakan dalam shell bersama-sama dengan dua arahan anda, seperti ini:

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

    Atau, untuk menjadikan keseluruhan kod anda lebih bersih:

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

    Cangkang anda kemudiannya akan berjalan cd Location && python getData.py CRT67547.

    Bergantung pada lokasi yang anda tetapkan, anda juga boleh melakukan ini:

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

    Anda boleh memudahkannya kepada:

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

    balas
    0
  • Batalbalas