Rumah >pembangunan bahagian belakang >Tutorial Python >Mengapa Kod PHP Saya Tidak Melaksanakan Skrip Python dan Bagaimana Saya Boleh Membetulkannya Menggunakan shell_exec?

Mengapa Kod PHP Saya Tidak Melaksanakan Skrip Python dan Bagaimana Saya Boleh Membetulkannya Menggunakan shell_exec?

Mary-Kate Olsen
Mary-Kate Olsenasal
2024-12-08 09:43:14885semak imbas

Why Doesn't My PHP Code Execute Python Scripts and How Can I Fix It Using shell_exec?

Melaksanakan Skrip Python daripada PHP

Apabila cuba melaksanakan skrip Python daripada PHP menggunakan arahan seperti exec, PHP mungkin tidak menghasilkan sebarang output walaupun tetapan pelaporan dan paparan ralat yang betul. Ini boleh diselesaikan dengan menggunakan fungsi shell_exec.

Fungsi shell_exec

shell_exec melaksanakan perintah melalui shell dan mengembalikan output lengkapnya sebagai rentetan. Berikut ialah contoh penggunaannya:

$command = escapeshellcmd('/usr/custom/test.py');
$output = shell_exec($command);
echo $output;

Konfigurasi Skrip Python

Pastikan skrip Python anda mempunyai konfigurasi berikut:

  • Barisan pertama skrip mengandungi #! diikuti dengan laluan penterjemah Python, cth., #!/usr/bin/env python.
  • Skrip mempunyai keistimewaan yang betul untuk pengguna web (cth., www-data untuk Apache) untuk melaksanakannya.

Pertimbangan Khusus Unix

Pada platform Unix, Python skrip mungkin perlu dibuat boleh laku menggunakan chmod x myscript.py. Selain itu, arahan dalam skrip Python harus mempunyai keistimewaan yang sesuai.

Kebenaran Pengguna Web

Ingat bahawa PHP berjalan sebagai pengguna web, biasanya www-data atau apache. Oleh itu, pastikan pengguna web mempunyai kebenaran akses kepada fail dan direktori yang dirujuk dalam perintah shell_exec.

Atas ialah kandungan terperinci Mengapa Kod PHP Saya Tidak Melaksanakan Skrip Python dan Bagaimana Saya Boleh Membetulkannya Menggunakan shell_exec?. 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