วันอาทิตย์ที่ 10 สิงหาคม พ.ศ. 2557

การแก้ปัญหา "headers already sent by" ของ php


Warning: Cannot modify header information - headers already sent by
Warning: session_start() [function.session-start]: Cannot send session cache limiter - headers already sent 
ได้รับการแสดงข้อผิดพลาดนี้เนื่องจากข้อมูล headers ส่งไปแล้วจากโค๊ดในบรรทัดอื่นก่อนหน้าโค๊ดที่ทำให้เกิดปัญหานี้
วิีธีแก้ปัญหาทำได้อยู่ 2 วิธี
1. ให้แก้ไขไฟล์ php.ini แล้วตั้งค่า output_buffering = on
หรือ output_buffering = 4096 
แต่ิ วิธีนี้ไม่เหมาะสมในกรณีที่เราไม่ได้เป็นเจ้าของเซิร์ฟเวอร์  หรือเซิร์ฟเวอร์นั้นรันแอพพลิเคชั่นอื่น ซึ่งอาจจะได้รับผลกระทบจากการกำหนดค่าตัวแปรนี้
2. ให้ใส่โค๊ด  <? ob_start() ?> ไว้บรรทัดแรกสุด  และใส่โค๊ด <? ob_end_flush() ?> ไว้บรรทัดสุดท้ายสุด

credit : http://www.gotoknow.org/posts/61327

ไม่มีความคิดเห็น: