มีน้องคนหนึ่งถามมา... อันที่จริงไม่ยากหรอก ตอบลงในนี้ดีกว่า เดี่ยวใครถามอีก จะโบ้ยให้มาอ่านที่นี่แหล่ะ

คำสั่งที่ PHP เรียกใช้ shell มีสองคำสั่งคือ
exec()
string exec ( string $command [, array &$output [, int &$return_var]] )
system()
string system ( string $command [, int &$return_var] )

วิธีเีรียกใช้งานก็แค่

echo system("dir");

...

...

...

แต่หลายคนคงไม่ผ่าน อาจเพราะหลายๆ สาเหตุ แต่สาเหตุที่เจอบ่อยๆ คือ ไม่มี permission เพียงพอที่จะสั่งใช้งานได้ยกตัวอย่างเช่น
Unable to fork อันนี้เจอประจำ สาเหตุเพราะว่า C:\WINDOWS\system32\cmd.exe ไม่มี permission ในการอ่านเขียน

อ่ะ ถ้าเป็นอย่างนี้ permission ที่ควรตั้งให้คือ Read & Execute, Read ส่วน write ก็เลือกได้ หากมีการเขียนไฟล์ นั่นก็เพียงพอแล้ว


แต่ส่วนใหญ่ Server ที่มีระดับ security มากๆ มักจะกำหนด PHP ให้เป็น safe mode   ดังนั้นเราต้องกำหนด safe_mode_exec_dir และ ใน php.ini ด้วยว่า folder จะสามารถใช้งานได้จากคำสั่ง system, exec

ลองดูครับ