Rumah >pembangunan bahagian belakang >tutorial php >Bagaimanakah Saya Boleh Menjalankan Skrip Python daripada PHP?

Bagaimanakah Saya Boleh Menjalankan Skrip Python daripada PHP?

Susan Sarandon
Susan Sarandonasal
2024-12-24 04:00:09362semak imbas

How Can I Successfully Run a Python Script from PHP?

Menjalankan Skrip Python daripada PHP

PHP menyediakan beberapa fungsi untuk melaksanakan perintah luaran, termasuk exec, shell_exec dan sistem. Walau bagaimanapun, anda mungkin menghadapi masalah apabila cuba menjalankan skrip Python menggunakan fungsi ini.

Penyelesaian masalah:

Untuk menyelesaikan masalah ini, anda telah mencuba pelbagai penyelesaian, termasuk:

  • Menggunakan penterjemah Python yang berbeza
  • Menggunakan kedua-dua mutlak dan relatif laluan
  • Menguji dengan arahan lain (cth., gema)

Walau bagaimanapun, anda perasan bahawa PHP masih tidak menghasilkan output.

Penyelesaian:

Isunya mungkin bukan terletak pada PHP tetapi dengan kebenaran. Pelayan web biasanya berjalan dengan keistimewaan pengguna yang terhad, yang boleh menyekat keupayaan mereka untuk melaksanakan arahan tertentu atau mengakses fail.

  1. Log masuk sebagai Pengguna Pelayan Web:

Log masuk ke pelayan anda sebagai pengguna yang sedang dijalankan oleh pelayan web anda (mis., www-data).

  1. Uji Perintah:

Menggunakan arahan yang anda cuba jalankan dalam PHP, cuba laksanakan secara manual daripada terminal sebagai pengguna pelayan web. Contohnya:

/usr/bin/python2.7 /srv/http/assets/py/switch.py arg1 arg2

Jika arahan berfungsi secara manual, ia mengesahkan bahawa isu itu terletak pada kebenaran.

  1. Semak Kebenaran:

Pastikan skrip PHP dan skrip Python mempunyai kebenaran yang betul. PHP sepatutnya melaksanakan kebenaran untuk skrip PHP dan skrip Python sepatutnya mempunyai melaksanakan kebenaran untuk pengguna pelayan web.

  1. Gunakan shell_exec:

Fungsi shell_exec PHP secara amnya lebih dipercayai untuk melaksanakan arahan luaran daripada exec atau sistem. Ia mengembalikan output lengkap daripada arahan yang dilaksanakan. Gunakan kod berikut:

$command = escapeshellcmd('/usr/custom/test.py');
$output = shell_exec($command);
echo $output;
  1. Pastikan Garis Shebang Fail Python:

Sahkan bahawa baris pertama fail Python anda termasuk yang berikut baris shebang:

#!/usr/bin/env python

Baris ini menentukan penterjemah Python kepada gunakan.

  1. Jadikan Fail Python Boleh Laksana:

Jika perlu, jadikan fail Python anda boleh laku pada platform jenis UNIX menggunakan:

chmod +x myscript.py

Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Menjalankan Skrip Python daripada PHP?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn