ฉันพยายามเรียกใช้สคริปต์ Python จาก PHP โดยใช้คำสั่งต่อไปนี้:
exec('/usr/bin/python2.7 /srv/http/assets/py/switch.py arg1 arg2');
อย่างไรก็ตาม PHP ไม่ได้สร้างผลลัพธ์ใด ๆ การรายงานข้อผิดพลาดถูกตั้งค่าเป็น E_ALL และ display_errors เปิดอยู่
นี่คือสิ่งที่ฉันได้ลอง:
- ผมใช้
python2
,/usr/bin/python2
และpython2.7
แทน/usr/bin/python2.7
- ฉันยังใช้เส้นทางสัมพัทธ์แทนเส้นทางสัมบูรณ์ซึ่งไม่ได้เปลี่ยนแปลงอะไรเลย
- ฉันพยายามใช้คำสั่ง
exec
, ,shell_exec
system
อย่างไรก็ตามหากฉันวิ่ง
if (exec('echo TEST') == 'TEST')
{
echo 'exec works!';
}
มันทำงานได้ดีอย่างสมบูรณ์ในขณะที่shutdown now
ไม่ได้ทำอะไรเลย
PHP มีสิทธิ์ในการเข้าถึงและเรียกใช้ไฟล์
แก้ไข: ขอบคุณ Alejandro ฉันสามารถแก้ไขปัญหาได้ หากคุณมีปัญหาเดียวกันอย่าลืมว่าเว็บเซิร์ฟเวอร์ของคุณอาจ / หวังว่าจะไม่ทำงานในฐานะรูท ลองเข้าสู่ระบบในฐานะผู้ใช้เว็บเซิร์ฟเวอร์ของคุณหรือผู้ใช้ที่มีสิทธิ์คล้ายกันแล้วลองรันคำสั่งด้วยตัวเอง