0147 | PHP Fatal error: Out of memory
Tuesday, February 5th, 2013 Posted in Linux, PHP Coding, Web Server | No Comments »Fatal error: Out of memory (allocated 4194304) (tried to allocate 14156 bytes) in /var/www/html/script.php on line 123
เชื่อว่าคนทำเว็บที่ใช้ PHP หลายๆ คนคงเคยเจอปัญหานี้มาไม่มากก็น้อยกันอยู่ หลายๆ คนเห็น error อันนี้แล้วก็ไปเข้าใจผิดว่า server แรมหมดอะไรงี้ด้วย เดี๋ยวจะมาอธิบายให้ครับ
- Error นี้ไม่ได้เกี่ยว
ห่าอะไรเลยกับ RAM ของ server หมดครับ การ reboot เครื่องหรือ upgrade spec ของ VPS ของท่านไม่ได้ช่วยให้อาการนี้หายแต่อย่างใด - มันคือ Error ที่มาจากระบบจัดการการใช้ Memory ของ PHP เอง (ตั้งใน php.ini ชื่อ option ว่า memory_limit)
- มันกำลังบอกว่า เจ้าของ server ตั้งจำกัดการใช้งาน Memory ของ PHP ไว้ (allocated ***) bytes
- และมันบอกว่า script ใช้จนเต็ม limit ไปแล้ว แต่จะขอใช้เพิ่มอีก (tried to allocate *** bytes)
- พอใช้เกิน limit ของที่ตั้งไว้ใน php.ini PHP ก็เลยสั่งตัดการทำงาน พร้อมกับพ่น error นั่นออกมา
ความจริง option นี้มีประโยชน์มากสำหรับ shared hosting เพื่อป้องกันไม่ให้มี script ใดๆ สามารถใช้งานแรมจนหมดได้… (อาจจะเกิดจากเขียน code ผิด หรืออะไรก็แล้วแต่) แต่การตั้งค่านี้ต่ำไปก็มีผลกระทบกับ CMS ที่เขียนมาไม่ดี และมีการใช้ทรัพยากรหนักๆ ครับ (WordPress / Joomla เป็นต้น)
ค่า memory_limit ของ PHP เนี่ย เท่าที่ใช้งานมาไม่ควรตั้งต่ำกว่า 8M (8388608) ครับ และสำหรับการใช้งาน CMS อย่าง wordpress หรือ joomla ที่ call stack ไม่รู้จะยาวไปหาอะไร แนะนำให้ตั้งที่ไม่ต่ำกว่า 64M (67108864) ครับ
Tags: memory, PHP Coding
0145 | ตั้งค่า zabbix เบื้องต้นคร่าวๆ
Monday, January 28th, 2013 Posted in IP Network, Linux, Web Server | 1 Comment »ต่อเนื่อง(กันแบบห่างไกลสุดกู่)จาก entry ที่แล้ว (ติดตั้ง zabbix server บน centos) คราวนี้จะมาเริ่ม config กันจริงๆ จังๆ ละนะครับ อุอิ (ส่วนที่ค้างดองนานๆ ก็ช่างแม่งไปก่อนละกัน)
หลังจากที่เข้า http://IP/zabbix/ ครั้งแรก มันจะ check การตั้งค่า php หลักๆ ก็ post_max_size , max_execution_time , max_input_time ที่ต้องแก้ แล้วก็กรอกข้อมูล database กับ zabbix server ซึ่งก็ไม่ลำบากเท่าไหร่ เหมือนกับติดตั้ง CMS ทั่วๆ ไป ข้ามไปเลยนะครับ (จริงๆ คือลงเสร็จแล้ว แล้วเพิ่งนึกได้ว่าลืม capture หน้าจอ แถหน้าด้านๆ เลยละกัน)
User แรกสุดในระบบคือ admin รหัสผ่านคือ zabbix ครับ login เข้าไปได้เลย แล้วก็มาเริ่ม config กันดีกว่า
Tags: configuration, install, monitor, zabbix