Saya mencoba menjalankan skrip Python dari PHP menggunakan perintah berikut:
exec('/usr/bin/python2.7 /srv/http/assets/py/switch.py arg1 arg2');
Namun, PHP tidak menghasilkan keluaran apa pun. Pelaporan kesalahan disetel ke E_ALL dan display_errors aktif.
Inilah yang saya coba:
- Saya menggunakan
python2
,/usr/bin/python2
danpython2.7
sebagai gantinya/usr/bin/python2.7
- Saya juga menggunakan jalur relatif alih-alih jalur absolut yang juga tidak mengubah apa pun.
- Saya mencoba menggunakan perintah
exec
,shell_exec
,system
.
Namun, jika saya lari
if (exec('echo TEST') == 'TEST')
{
echo 'exec works!';
}
itu bekerja dengan baik sementara shutdown now
tidak melakukan apapun.
PHP memiliki izin untuk mengakses dan mengeksekusi file.
EDIT: Terima kasih kepada Alejandro, saya bisa memperbaiki masalah. Jika Anda mengalami masalah yang sama, jangan lupa bahwa server web Anda mungkin / mudah-mudahan tidak berjalan sebagai root. Coba masuk sebagai pengguna server web Anda atau pengguna dengan izin serupa dan coba jalankan perintah sendiri.