Rumah >pembangunan bahagian belakang >tutorial php >Mengapa Kod PHP Saya Tidak Melaksanakan Skrip Python Saya, dan Bagaimana Saya Boleh Membetulkannya?

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

Patricia Arquette
Patricia Arquetteasal
2024-12-17 16:50:13121semak imbas

Why Doesn't My PHP Code Execute My Python Script, and How Can I Fix It?

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!

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