Apabila cuba menjalankan skrip Python menggunakan exec() dalam PHP, menghadapi kekurangan output boleh mengecewakan. Isu ini boleh timbul atas pelbagai sebab, tetapi panduan komprehensif berikut akan membantu dalam menyelesaikannya.
Pastikan arahan dimasukkan dengan betul. Dalam kes anda, semak perkara berikut:
Selain itu, cuba perintah gema mudah untuk menguji kefungsian pelaksanaan arahan:
if (exec('echo TEST') == 'TEST') { echo 'exec works!'; }
Jika arahan gema berfungsi, ini menunjukkan bahawa fungsi pelaksanaan teras berfungsi dengan betul , mengecilkan isu tersebut.
Pengguna akaun yang menjalankan skrip PHP anda mungkin tidak mempunyai kebenaran yang mencukupi. Apache biasanya berjalan di bawah www-data pengguna, jadi log masuk sebagai pengguna itu atau pengguna lain dengan kebenaran yang serupa dan cuba menjalankan arahan secara manual. Jika ia berjaya dilaksanakan, isunya terletak pada kebenaran.
Daripada exec(), pertimbangkan untuk menggunakan shell_exec() yang memberikan lebih fleksibiliti:
$command = escapeshellcmd('/usr/custom/test.py'); $output = shell_exec($command); echo $output;
Skrip Python mesti dikonfigurasikan dengan betul baris shebang yang sesuai dalam baris pertama:
#!/usr/bin/env python
Kedua-dua skrip Python (test.py) dan sebarang arahan di dalamnya mesti mempunyai kebenaran yang sesuai. Contohnya, chmod x test.py menetapkan kebenaran boleh laku.
Atas ialah kandungan terperinci Mengapa Kod PHP Saya Tidak Melaksanakan Skrip Python Saya dan Menunjukkan Output?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!