Rumah >pembangunan bahagian belakang >Tutorial Python >Bagaimanakah Saya Boleh Melaksanakan Skrip Python dengan Selamat daripada PHP?
Apabila cuba menjalankan skrip Python daripada PHP menggunakan perintah exec, shell_exec atau sistem, adalah penting untuk mengambil kira konteks keselamatan pelayan web anda. Dalam kebanyakan kes, pelayan web mungkin tidak mempunyai kebenaran yang mencukupi untuk melaksanakan skrip.
Untuk mendiagnosis dan menyelesaikan isu berkaitan kebenaran, cuba jalankan coretan kod berikut adalah berguna :
if (exec('echo TEST') == 'TEST') { echo 'exec works!'; }
Jika kod ini berfungsi, ia menunjukkan bahawa fungsi exec PHP berfungsi dengan betul. Walau bagaimanapun, jika PHP gagal menghasilkan output, kemungkinan besar pengguna pelayan web tidak mempunyai kebenaran yang mencukupi.
Alternatif yang baik untuk menggunakan exec ialah fungsi shell_exec dalam PHP. Shell_exec mengembalikan output lengkap perintah yang dilaksanakan atau NULL jika ralat berlaku atau tiada output dihasilkan. Contoh penggunaan:
$command = escapeshellcmd('/usr/custom/test.py'); $output = shell_exec($command); echo $output;
Untuk memastikan skrip Python dilaksanakan dengan betul, sahkan bahawa baris pertama skrip mengandungi shebang berikut:
#!/usr/bin/env python
Shebang ini menentukan penterjemah yang akan digunakan dan penting untuk memastikan versi Python yang betul bekerja.
Untuk skrip diiktiraf sebagai boleh laku, pastikan ia mempunyai kebenaran yang sesuai. Pada platform jenis UNIX, gunakan arahan berikut:
chmod +x myscript.py
Selain itu, skrip Python dan sebarang arahan yang dipanggil di dalamnya mesti mempunyai kebenaran yang diperlukan untuk dijalankan.
Dengan mempertimbangkan kebenaran pengguna dan menggunakan shell_exec, anda boleh melaksanakan skrip Python dengan berkesan daripada PHP, memastikan penyepaduan yang selamat dan berfungsi antara kedua-dua bahasa.
Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Melaksanakan Skrip Python dengan Selamat daripada PHP?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!