Rumah >pembangunan bahagian belakang >tutorial php >Mengapa Kod PHP Saya Tidak Melaksanakan Skrip Python Saya, dan Bagaimana Saya Boleh Membetulkannya?
Menjalankan Skrip Python dengan lancar daripada PHP
Untuk melaksanakan skrip Python menggunakan PHP, beberapa kaedah tersedia termasuk exec, shell_exec dan sistem . Walau bagaimanapun, apabila menggunakan exec('/usr/bin/python2.7 /srv/http/assets/py/switch.py arg1 arg2') dalam PHP, tiada output boleh dijana walaupun menetapkan pelaporan ralat kepada E_ALL dan mendayakan display_errors.
Untuk menyelesaikan masalah ini, adalah penting untuk mengesahkan bahawa pengguna pelayan web mempunyai kebenaran yang diperlukan untuk mengakses dan melaksanakan Skrip Python dan arahan yang berkaitan. Secara khusus, fail Python harus mempunyai kebenaran untuk pelaksanaan dan semua arahan dalaman juga harus disediakan dengan kebenaran yang sesuai.
Menyelesaikan Masalah dengan shell_exec
Ubuntu Server 10.04 membuktikan menjadi persekitaran yang sesuai untuk penyelesaian ini. Dengan menggunakan fungsi shell_exec PHP, arahan itu boleh dilaksanakan dan output dikembalikan sebagai rentetan. Coretan kod PHP berikut menunjukkan pendekatan ini:
$command = escapeshellcmd('/usr/custom/test.py'); $output = shell_exec($command); echo $output;
Kepentingan Garis Shebang dalam Skrip Python
Skrip Python (test.py) hendaklah bermula dengan baris berikut untuk memastikan penterjemah yang betul digunakan:
#!/usr/bin/env python
Baris ini mengarahkan sistem untuk gunakan penterjemah Python yang ditentukan dalam pembolehubah persekitaran $PATH, memastikan keserasian dengan pelbagai versi Python dipasang.
Untuk menjadikan skrip test.py boleh laku dalam platform berasaskan Unix, jalankan arahan berikut:
chmod +x myscript.py
Hak Pelaksanaan untuk Fail dan Perintah
Selain daripada menetapkan kebenaran boleh laku untuk skrip Python, sama pentingnya untuk memberikan hak pelaksanaan kepada pengguna web (biasanya www-data/apache) kepada kedua-dua fail dan arahan dalamannya. Kegagalan berbuat demikian boleh mengakibatkan skrip tidak dapat dilaksanakan dengan betul.
Atas ialah kandungan terperinci Mengapa Kod PHP Saya Tidak Melaksanakan Skrip Python Saya, dan Bagaimana Saya Boleh Membetulkannya?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!