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
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:Atau, untuk menjadikan keseluruhan kod anda lebih bersih:
Cangkang anda kemudiannya akan berjalan
cd Location && python getData.py CRT67547
.Bergantung pada lokasi yang anda tetapkan, anda juga boleh melakukan ini:
Anda boleh memudahkannya kepada: