ข้อควรทราบในการเขียนโปรแกรม

ระบบปฏิบัติการ

webman รองรับการทำงานทั้งในระบบ linux และ windows อย่างไรก็ตาม เนื่องจาก workerman ไม่สามารถรองรับการตั้งค่าหลายกระบวนการและโหมด daemon บน windows ได้ จึงแนะนำให้ใช้ระบบ windows สำหรับการพัฒนาและทดสอบในสภาพแวดล้อมการพัฒนาเท่านั้น ในขณะที่สภาพแวดล้อมการทำงานจริงควรใช้งานบนระบบ linux

วิธีการเริ่มต้น

ระบบ linux

php start.php start

คำสั่งนี้ใช้โหมดดีบัก โดยทั่วไปจะใช้ในระหว่างการพัฒนา กระบวนการ monitor จะตรวจจับการอัปเดตไฟล์และทำการ reload โดยอัตโนมัติ ข้อมูลที่พิมพ์จะถูกแสดงในเทอร์มินัล หากปิดเทอร์มินัล webman จะปิดตัวเองโดยอัตโนมัติ

php start.php start -d

คำสั่งนี้ใช้งานในโหมด daemon ซึ่งใช้ในสภาพแวดล้อมการทำงานจริง หลังจากปิดเทอร์มินัล webman จะยังคงทำงานต่อไป ข้อมูลที่พิมพ์จะไม่มีการแสดงในเทอร์มินัล
การอัปเดตโค้ดจำเป็นต้องดำเนินการ php start.php reload หรือ php start.php restart -d เพื่อทำการอัปเดต

ระบบ windows

ดำเนินการ windows.bat หรือใช้คำสั่ง php windows.php เพื่อเริ่มต้น โดยกด ctrl c เพื่อหยุด
ระบบ windows ไม่รองรับคำสั่ง stop reload status reload connections เป็นต้น
windows ไม่รองรับโหมด daemon

คงอยู่ในหน่วยความจำ

webman เป็นเฟรมเวิร์กที่คงอยู่ในหน่วยความจำ โดยทั่วไปแล้ว ไฟล์ php จะถูกโหลดและอยู่ในหน่วยความจำในรูปแบบ opcode และจะไม่ถูกอ่านจากดิสก์อีก (ยกเว้นไฟล์แม่แบบ)
ดังนั้นเมื่อโค้ดธุรกิจหรือการตั้งค่าถูกเปลี่ยนแปลงในสภาพแวดล้อมการทำงานจริง จำเป็นต้องดำเนินการ php start.php reload เพื่อให้การเปลี่ยนแปลงมีผล
ในกรณีที่มีการเปลี่ยนแปลงการตั้งค่าที่เกี่ยวข้องกับกระบวนการหรือการติดตั้งแพคเกจ composer ใหม่จำเป็นต้องรีสตาร์ท php start.php restart

เพื่อความสะดวกในการพัฒนา webman มีโปรเซสที่กำหนดเองของ monitor ที่ใช้ในการตรวจสอบการอัปเดตไฟล์ธุรกิจ เมื่อมีการอัปเดตไฟล์ธุรกิจ จะทำการ reload โดยอัตโนมัติ
ฟังก์ชันนี้จะเปิดใช้งานเมื่อ workerman ทำงานในโหมดดีบัก (ไม่เพิ่ม -d ตอนเริ่มต้น) ผู้ใช้ windows ต้องดำเนินการ windows.bat หรือ php windows.php เพื่อเปิดใช้งาน

เกี่ยวกับคำสั่งส่งออก

ในโปรเจกต์ php-fpm แบบดั้งเดิม การใช้ฟังก์ชัน echo var_dump เพื่อส่งข้อมูลจะแสดงผลโดยตรงในหน้าเว็บ แต่ในระหว่างกระบวนการพัฒนา webman (เมื่อเริ่มต้นในโหมดดีบัก) การแสดงผลเหล่านี้มักจะแสดงในเทอร์มินัล และจะไม่แสดงในหน้าเว็บ (ยกเว้นการแสดงผลในไฟล์แม่แบบ)

ห้ามดำเนินการคำสั่ง exit die

การเรียกใช้ die หรือ exit จะทำให้กระบวนการสิ้นสุดลงและรีสตาร์ท ทำให้คำขอในปัจจุบันไม่สามารถตอบสนองได้อย่างถูกต้อง

ห้ามดำเนินการฟังก์ชัน pcntl_fork

pcntl_fork เป็นการสร้างกระบวนการของผู้ใช้ ซึ่งเป็นสิ่งที่ไม่อนุญาตใน webman

การติดตั้งส่วนประกอบ composer

ส่วนประกอบที่ติดตั้งโดยใช้ composer require xxx/xxx จำเป็นต้องรีสตาร์ทเพื่อให้มีผล