GotoKnow
  • เข้าระบบ
  • สมัครสมาชิก
  • แผงจัดการ
  • ออกจากระบบ
GotoKnow

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

้php "headers already sent by"


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() ?> ไว้บรรทัดสุดท้ายสุด

 

 

  

บันทึกนี้เขียนที่ GotoKnow โดย 

คำสำคัญ (keywords): phptroubleshootsolution
หมายเลขบันทึก: 61327
เขียน:
แก้ไข:
ความเห็น: 20
อ่าน:
สัญญาอนุญาต: สงวนสิทธิ์ทุกประการ

ความเห็น (20)

  • ขอบคุณมากครับอาจารย์
  • ชอบครับได้ความรู้ดีมากเลยครับ

ดีมากครับ
เป็นคำแนะนำที่มีประโยชน์มาก ง่ายเข้าใจใช้งานได้จริง
ขอบคุณอาจารย์มากครับ ถ้าไม่เจออาจารย์ผมคงหาทางแก้ปัญหานี้อีกนาน

thank you for your know how,

 

เยี่ยมมากครับอาจารย์ ขอบคุณ ขอบคุณ

ขอบคุณมากครับชวมได้มากเลย ขอบคุณครับ

ขอบคุณค่ะคุณขจิต คุณดิเรก คุณ tomz คุณ irinfared และ คุณ underlove  ที่เข้ามาเยี่ยมและให้ข้อคิดเห็น  ดีใจค่ะที่ทราบว่าสิ่งที่ได้ทำลงไปนั้นมีประโยชน์กับผู้อื่น 

 

รักอาจารย์ที่สุดเลย

ขอบคุณมา....กเลยครับ

ไม่งันคงอีกนานแน่ กว่าจะแก้ปัญหานี้ได้

ขอบคุณอีกครั้งครับ

ขอบคุณครับอาจารย์ถ้าไม่ได้อาจารย์ผมคงคิดหัวระ้เบิดแน่เลยครับขอบคุณค้าบบบบ

สวัสดีค่ะอาจารย์

ดิฉันได้ทำการแก้ปัญหาอย่างที่อาจารย์แนะนำแล้วค่ะ แต่ก้อยังไม่หาย มีวิธีแก้ไขอย่างอื่นมั้ยคะ

ขอบคุณค่ะ

Warning: Cannot modify header information - headers already sent by (output started at C:\AppServ\www\myWeb\chkmember.php:1) in C:\AppServ\www\myWeb\chkmember.php on line 24

ขอบคุณมากครับ ปวดหัวกับปัญหานี้ตั้งสองวัน ขอบคุณครับ

พึ่งมาหัดลองเขียนครับ ก็เจอปัญหาเลย แต่ดีที่ได้คำแนะนำที่ดีมากของอาจารย์ ขอบคุณมากครับ

ผมก็มีเหมือนกัน เพราะใน ajax ของผม สั่ง header ไว้ใน ฟังก์ชัน ตอน load head

ขอบคุณมากๆๆครับ

ผมลองแก้ดูทั้ง2 วิธีแล้วคับแต่ไม่หายงงมากเลยคับมีวิธีอื่นป่ะคับ

Warning: Cannot modify header information - headers already sent by (output started at C:\AppServ\www\myWeb\chkmember.php:1) in C:\AppServ\www\myWeb\chkmember.php on line 24

ขอบคุณมากครับ สุดยอดครับ ได้ความรู้เพิ่ม ขอบคุณจิง ๆ ครับ

ใช้เป็น <?php @session_start(); ?>

ได้คับ

เป็นการปิดไม่ให้ แสดง error แต่ผลข้างเคียง ยังไงไม่ทราบน่ะคับ

เท่าที่ใช้งานมาก้อได้ผลดี

ขอบพระคุณมาก ๆ ครับท่านอาจารย์

thanks...

ขอบคุณครับ ได้แล้ว ง่ายและใช้ได้จริง ด้วย หลายวันมาก จนบางที ผมใช้ session แทน ไปเลย

ขอบพระคุณมากครับ ผมนั่งงมอยู่หลายวันแล้วครับ ผมงงตรงที่เป็น Code เดียวกัน ผมทำงานอนู่ 2 เครื่อง เครื่องนึงได้ ส่วนอีกเครื่องไม่ได้ครับ ถ้าไม่ได้คำชี้แนะงม Code อีกนานครับ