ระบบ ()ฟังก์ชั่น
ฟังก์ชั่นระบบใน PHP รับอาร์กิวเมนต์สตริงด้วยคำสั่งเพื่อดำเนินการเช่นเดียวกับอาร์กิวเมนต์ใด ๆ ที่คุณต้องการส่งผ่านไปยังคำสั่งนั้น ฟังก์ชันนี้เรียกใช้งานคำสั่งที่ระบุและทิ้งข้อความที่เป็นผลลัพธ์ไปยังเอาต์พุตสตรีม (ทั้งเอาต์พุต HTTP ในสถานการณ์ของเว็บเซิร์ฟเวอร์หรือคอนโซลหากคุณใช้ PHP เป็นเครื่องมือบรรทัดคำสั่ง) การกลับมาของฟังก์ชั่นนี้เป็นบรรทัดสุดท้ายของเอาต์พุตจากโปรแกรมหากมันส่งเสียงออกข้อความ
exec ()ฟังก์ชั่น
ฟังก์ชั่นระบบค่อนข้างมีประโยชน์และทรงพลัง แต่หนึ่งในปัญหาที่ใหญ่ที่สุดคือข้อความทั้งหมดที่ได้จากโปรแกรมไปยังสตรีมเอาต์พุตโดยตรง จะมีสถานการณ์ที่คุณอาจต้องการจัดรูปแบบข้อความที่เป็นผลลัพธ์และแสดงในลักษณะที่แตกต่างกันหรือไม่แสดงเลย
สำหรับเรื่องนี้ฟังก์ชั่น exec ใน PHP ถูกดัดแปลงอย่างสมบูรณ์ แทนที่จะทิ้งข้อความทั้งหมดที่สร้างโดยโปรแกรมที่กำลังดำเนินการไปยังเอาต์พุตสตรีมโดยอัตโนมัติจะเปิดโอกาสให้คุณใส่ข้อความนี้ในอาร์เรย์ที่ส่งคืนในพารามิเตอร์ที่สองไปยังฟังก์ชัน:
shell_exec ()ฟังก์ชั่น
โปรแกรมส่วนใหญ่ที่เราดำเนินการอยู่ในขณะนี้มีอยู่จริงหรือไม่ก็โปรแกรมจริง 1 อย่างไรก็ตามสภาพแวดล้อมที่ผู้ใช้ Windows และ Unix ทำงานได้ดีขึ้นกว่านี้มาก ผู้ใช้ Windows มีตัวเลือกในการใช้โปรแกรม Windows Command Prompt, cmd.exe โปรแกรมนี้เรียกว่าเชลล์คำสั่ง
passthru ()ฟังก์ชั่น
ฟังก์ชั่นที่น่าสนใจอย่างหนึ่งที่ PHP มอบให้คล้ายกับที่เราเคยเห็นคือฟังก์ชัน passthru ฟังก์ชั่นนี้เหมือนกับคนอื่น ๆ เรียกใช้งานโปรแกรมที่คุณบอก อย่างไรก็ตามจากนั้นจะดำเนินการส่งเอาต์พุตดิบจากโปรแกรมนี้ไปยังสตรีมเอาต์พุตที่ PHP ใช้งานอยู่ในปัจจุบัน (เช่น HTTP ในสถานการณ์เว็บเซิร์ฟเวอร์หรือเชลล์ในเวอร์ชันบรรทัดคำสั่งของ PHP)
The proc_open ()ฟังก์ชั่นและpopen ()
ฟังก์ชั่น
proc_open () คล้ายกับ popen () แต่ให้การควบคุมการเรียกใช้โปรแกรมในระดับที่สูงกว่ามาก cmd เป็นคำสั่งที่จะดำเนินการโดยเชลล์ descriptorspec เป็นอาร์เรย์ที่จัดทำดัชนีโดยที่ปุ่มแทนหมายเลขตัวอธิบายและค่าแสดงถึงวิธีที่ PHP จะส่งตัวบอกถึงกระบวนการของลูก ไพพ์จะถูกตั้งค่าเป็นอาเรย์ของดัชนีพอยน์เตอร์ที่สอดคล้องกับจุดสิ้นสุดของไพพ์ของ PHP ที่สร้างขึ้น ค่าส่งคืนเป็นทรัพยากรที่แสดงถึงกระบวนการ คุณควรทำให้ว่างโดยใช้ proc_close () เมื่อคุณทำเสร็จแล้ว
proc_open()
และpopen()
ทั้งสองอย่างนี้ช่วยให้การควบคุมระดับสูงกว่ากระบวนการวางไข่