มี 380 บุคคลทั่วไป ออนไลน์

พื้นฐานการทำเว็บไซต์
แก้ปัญหา memory_limit PDF พิมพ์ อีเมล
( 2 Votes )
เขียนโดย Administrator   
วันเสาร์ที่ 21 พฤศจิกายน 2009 เวลา 16:38 น.

หลาย ๆ คนอาจจะเจอปัญหา memory limit ที่ตั้งไว้น้อยเกินไปทำให้เกิดปัญหาเวลาที่อัพโหลดไฟล์ใหญ่ ๆ แล้วจะขึ้น

View source
Fatal error: Allowed memory size of 25165824 bytes exhausted (tried to allocate 23644496 bytes) in C:\.................?

 

ส่วนมากจะเจอปัญหานี้ในการใช้โปรแกรม web server จำลองภายในเครื่องของตนเองหรืออาจะเจอใน host บ้างเป็นบางครั้ง วิธีแก้ไขคือ

1.ค้นหาไฟล์ php.ini (อาจจะใช้โปรแกรม search ค้นหา) จากนั้นใช้โปรแกรม edtior เปิดค้นหา บรรทัด

View source
memory_limit = 16M

เปลี่ยนตัวเลขจาก 16 เป็น 32, 64 หรือ 128 ก็ได้ จากนั้นทำการเซฟ แล้วทำการรีสตาร์ท Apache หรือจะให้ง่ายก็รีบูตเครื่องไปเลย 1 รอบ เป็นอันใช้ได้

วิธีนี้อาจจะเหมาสมกับ web server จำลองที่ใช้ทดสอบสคริปต่าง ๆ ในเครื่องของเราเอง

2.เปิดไฟล์ .htaccess ด้วยโปรแกรม edtior เพิ่มบรรทัดนี้ลงไป

View source
php_value memory_limit 16M

ในส่วนท้ายสุดของโค๊ดโปรแกรม (หากยังไม่ได้เปลี่ยนไฟล์ htaccess.txt เป็น .htaccess ก็ให้ทำการเปลี่ยนเสียก่อน) เปลี่ยนตัวเลขจาก 16 เป็น 32, 64 หรือ 128 ก็ได้ วิธีนี้เหมาะกับ hosting ที่เราไม่สามารถเข้าไปแก้ไขในส่วนของไฟล์ php.ini ได้

แถมกันอีกนิดหน่อยไหน ๆ ก็พูดถึง ไฟล์ .htaccess แล้ว

หากต้องการปิด Register Global ของภาษา PHP (register_global = Off) สำหรับเว็บไซต์ของเราเองก็ให้เพิ่มคำสั่งนี้ลงไปในไฟล์ .htaccess

View source
php_value register_globals 0

หรือ

View source
php_flag register_globals off

ปิดการแสดงผล error

View source
 php_flag display_error Off

 

แก้ไขล่าสุด ใน วันพุธที่ 28 เมษายน 2010 เวลา 20:46 น.
 

คุณไม่มีสิทธิที่จะโพสต์ข้อคิดเห็น กรุณาล็อคอินหรือลงทะเบียน

RSS 2.0 Joomla Articles
twitter
Creative Commons License