วิธีแก้ไขข้อผิดพลาด “ไม่สามารถแก้ไขข้อมูลส่วนหัว – ส่วนหัวที่ส่งไปแล้วโดย” Error
เผยแพร่แล้ว: 2021-11-26ข้อความแสดงข้อผิดพลาดของ WordPress ส่วนใหญ่ช่วยให้คุณทราบถึงสาเหตุของปัญหาในเว็บไซต์ของคุณ ข้อผิดพลาด "คำเตือน: ไม่สามารถแก้ไขข้อมูลส่วนหัว - ส่วนหัวที่ส่งไปแล้ว" ก็ไม่มีข้อยกเว้น หากไฟล์ PHP ไม่สามารถทำงานได้เนื่องจากโค้ดมีปัญหา คุณจะพบข้อความนี้
มีสาเหตุที่เป็นไปได้หลายประการสำหรับข้อผิดพลาด "ไม่สามารถแก้ไขข้อมูลส่วนหัว" โชคดีที่ข้อความจะบอกคุณว่าไฟล์ใดเป็นสาเหตุของปัญหา มันยังชี้ไปที่บรรทัดของรหัสที่มีปัญหา
ในบทความนี้ เราจะพูดถึงข้อผิดพลาดนี้และสาเหตุของข้อผิดพลาด จากนั้น เราจะพูดถึงสองวิธีที่คุณสามารถแก้ไขปัญหาได้ ไปทำงานกันเถอะ!
อะไรทำให้เกิดข้อผิดพลาด "ไม่สามารถแก้ไขข้อมูลส่วนหัว – ส่วนหัวที่ส่งไปแล้วโดย" ผิดพลาด
ดังที่เราได้กล่าวไว้ก่อนหน้านี้ คุณจะเกิดข้อผิดพลาดนี้เมื่อไฟล์ .php ไฟล์ใดไฟล์หนึ่งของเว็บไซต์ของคุณไม่สามารถดำเนินการได้ WordPress ใช้ไฟล์ .php เช่น wp-config.php และ functions.php สำหรับฟังก์ชันการทำงานหลัก
หากมีปัญหาภายในไฟล์ .php ไฟล์ใดไฟล์หนึ่งที่เว็บไซต์ของคุณต้องโหลด คุณจะเห็นข้อความแสดงข้อผิดพลาดที่มีลักษณะดังนี้:
Warning: Cannot modify header information - headers already sent by (output started at /home/public_html/wp-config.php:#) in /home/public_html/wp-includes/file-example.php on line 33
โชคดีที่ข้อผิดพลาด "ไม่สามารถแก้ไขข้อมูลส่วนหัว" ให้ข้อมูลจำนวนมากที่ทำให้การแก้ไขปัญหาค่อนข้างตรงไปตรงมา ข้อความจะชี้คุณไปยังสองไฟล์ - ไฟล์แรกมีปัญหา ซึ่งทำให้ไฟล์ที่สองไม่สามารถดำเนินการได้
ที่ส่วนท้ายของข้อความแสดงข้อผิดพลาด คุณจะเห็นส่วนที่ระบุว่า "บรรทัด XX" มันแสดงตำแหน่งของรหัสเฉพาะที่ทำให้เกิดปัญหา
โดยปกติ ปัญหาในโค้ด PHP จะแก้ไขได้ง่าย สาเหตุทั่วไปบางประการที่อาจทำให้เกิดข้อความแสดงข้อผิดพลาด ได้แก่:
- ช่องว่างก่อน
<?php
ส่วนโค้ดหรือหลังแท็กปิด?>
- บล็อก HTML ก่อน ฟังก์ชันส่วนหัว PHP
- คำสั่ง
print
หรือecho
เพิ่มก่อนฟังก์ชันส่วนหัวของ PHP - ปัญหาเกี่ยวกับรหัสของปลั๊กอิน
การแก้ไขข้อผิดพลาดประเภทนี้จะทำให้คุณรู้สึกสบายใจในการแก้ไขโค้ด PHP อย่างน้อย คุณไม่จำเป็นต้องเพิ่มรหัสใด ๆ ด้วยตัวคุณเอง
อย่างไรก็ตาม คุณอาจต้องการความช่วยเหลือเพิ่มเติมเล็กน้อยในการระบุปัญหา โดยเฉพาะอย่างยิ่งหากปัญหาไม่เกี่ยวข้องกับช่องว่างหรือคำสั่งก่อนฟังก์ชันส่วนหัวของ PHP
วิธีแก้ปัญหา "คำเตือน: ไม่สามารถแก้ไขข้อมูลส่วนหัว - ข้อผิดพลาดที่ส่งแล้วโดยส่วนหัว" (2 วิธี)
มีสองวิธีในการแก้ไขปัญหาข้อผิดพลาด "ไม่สามารถแก้ไขข้อมูลส่วนหัว - ส่วนหัวที่ส่งไปแล้ว" วิธีแรกไม่ต้องการให้คุณออกจากแดชบอร์ด WordPress
อย่างไรก็ตาม กลยุทธ์ที่สองใช้ FTP/SFTP หากคุณไม่สามารถเข้าถึงแดชบอร์ดหรือใช้ WordPress ได้
เริ่มต้นด้วยวิธีการแก้ไขปัญหาแรก
1. แก้ไขข้อผิดพลาดด้วยตัวแก้ไขปลั๊กอิน/ธีมหรือแทนที่ปลั๊กอิน
สิ่งแรกที่คุณต้องทำเมื่อคุณพบข้อผิดพลาด “ไม่สามารถแก้ไขข้อมูลส่วนหัว – ส่วนหัวที่ส่งแล้วโดย” คือการเปิดไฟล์ที่ทำให้เกิดปัญหา จากนั้นค้นหาบรรทัดที่ข้อความระบุ
ตัวอย่างเช่น หากคุณเห็นข้อผิดพลาดที่อ่านข้อความต่อไปนี้ หมายความว่าคุณจำเป็นต้องดูภายในไฟล์ functions.php ของธีมของคุณ:
Warning: Cannot modify header information - headers already sent by (output started at /home/public_html/wp-content/themes/twentytwentyone/functions.php:#) in /home/public_html/wp-includes/file-example.php on line 1
ในสถานการณ์สมมตินี้ คุณสามารถเข้าถึงสาเหตุของปัญหาได้โดยใช้ตัวแก้ไขธีมของ WordPress หากต้องการเข้าถึง ให้ไปที่ ลักษณะที่ ปรากฏ > ตัวแก้ไขธีม
เมื่อคุณเข้ามาแล้ว ใช้เมนูทางด้านขวาเพื่อเลือกไฟล์ที่คุณต้องการเข้าถึง
หากคุณสังเกตดีๆ คุณจะสังเกตเห็นช่องว่างหลายช่องก่อนแท็ก <?php
ข้อความแสดงข้อผิดพลาดชี้ไปที่บรรทัดที่หนึ่ง ดังนั้น นี่จะบอกคุณว่าช่องว่างเป็นสาเหตุของปัญหา
ในตัวอย่างนี้ สิ่งที่คุณต้องทำคือลบช่องว่างและคลิกที่ Update File ตอนนี้ให้ลองโหลดเว็บไซต์ของคุณใหม่ และข้อผิดพลาดจะหายไป
คุณสามารถใช้กระบวนการเดียวกันนี้โดยใช้ตัวแก้ไขปลั๊กอินของ WordPress ( Plugins > Plugin Editor ) วิธีนี้ใช้ได้หากข้อความแสดงข้อผิดพลาดชี้ไปที่ไฟล์ปลั๊กอินที่ผิดพลาด
หรือคุณอาจพบข้อผิดพลาดที่ระบุไฟล์ใดไฟล์หนึ่งในไดเรกทอรีปลั๊กอิน WordPress ของคุณ ในสถานการณ์นี้ คุณสามารถลบและติดตั้งปลั๊กอินนั้นใหม่ได้ ในกรณีส่วนใหญ่จะดูแลปัญหาให้คุณ
อย่างไรก็ตาม โปรดทราบว่าคุณอาจสูญเสียการกำหนดค่าของปลั๊กอินนั้น ขึ้นอยู่กับเครื่องมือที่คุณใช้ ดังนั้น คุณอาจต้องตั้งค่าส่วนเสริมอีกครั้ง
2. แก้ไขไฟล์ปัญหาผ่าน FTP/SFTP
ในบางกรณี แหล่งที่มาของข้อผิดพลาด “ไม่สามารถแก้ไขข้อมูลส่วนหัว – ส่วนหัวที่ส่งไปแล้ว” จะไม่อยู่ในไฟล์ที่คุณสามารถเข้าถึงได้โดยใช้ธีม WordPress หรือตัวแก้ไขปลั๊กอิน หรือคุณอาจใช้ไซต์ที่ไม่ใช่ WordPress
ในสถานการณ์เหล่านี้ ตัวเลือกที่ดีที่สุดของคุณคือการเข้าถึงไฟล์ปัญหาโดยใช้ FTP/SFTP ในการดำเนินการดังกล่าว คุณจะต้องใช้ไคลเอนต์ FTP หรือ SFTP เช่น แพลตฟอร์ม FileZilla
คุณจะต้องเข้าถึงข้อมูลประจำตัว FTP/SFTP ของเว็บไซต์ของคุณด้วย ในกรณีส่วนใหญ่ คุณควรสามารถค้นหาได้จากแผงโฮสติ้งของคุณ
ต้องการโฮสติ้งที่รวดเร็ว เชื่อถือได้ และปลอดภัยอย่างเต็มที่สำหรับเว็บไซต์อีคอมเมิร์ซของคุณหรือไม่ Kinsta ให้การสนับสนุนระดับโลกตลอด 24 ชั่วโมงทุกวันจากผู้เชี่ยวชาญ WooCommerce ตรวจสอบแผนของเรา
หากคุณใช้ Kinsta คุณสามารถเข้าถึง MyKinsta เลือกเว็บไซต์ของคุณภายใต้ Sites และคลิกที่แท็บ Info
เมื่อคุณมีข้อมูลประจำตัวแล้ว ให้ใช้ไคลเอ็นต์ FTP หรือ SFTP เพื่อเชื่อมต่อกับเว็บไซต์ของคุณ คุณจะต้องค้นหาโฟลเดอร์ ราก ของไซต์ โดยปกติ ชื่อควรเป็น root, public_html , public หรือชื่อไซต์ของคุณเอง
ต่อไปนี้คือลักษณะโดยย่อว่าภายในโฟลเดอร์ รู ทของ WordPress เป็นอย่างไร
ไปข้างหน้าและค้นหาไฟล์ที่มีข้อผิดพลาด "ไม่สามารถแก้ไขข้อมูลส่วนหัว - ส่วนหัวที่ส่งไปแล้ว" ตัวอย่างเช่น หากปัญหาคือ public/wp-config.php
ให้คลิกขวาที่ไฟล์แล้วเลือกตัวเลือก ดู/แก้ไข
ตัวเลือกนั้นจะเปิดไฟล์ที่เลือกโดยใช้โปรแกรมแก้ไขข้อความเริ่มต้นของคุณ เมื่อเปิดเอกสารแล้ว ให้ค้นหาปัญหาโดยไปที่บรรทัดที่มีข้อความแสดงข้อผิดพลาดแจ้งให้คุณทราบ
หากคุณไม่พบข้อผิดพลาด คุณอาจต้องปรึกษากับผู้ที่มีประสบการณ์การทำงานกับไฟล์ PHP อย่างไรก็ตาม สมมติว่าคุณกำลังจัดการกับปัญหาช่องว่างหรือคำสั่งก่อนส่วนหัวของ PHP ในกรณีนี้ คุณควรจะสามารถแก้ไขปัญหาได้ด้วยตนเอง
เมื่อเสร็จแล้ว ให้บันทึกการเปลี่ยนแปลงในไฟล์และปิดไคลเอ็นต์ FTP/SFTP ลองเข้าถึงเว็บไซต์ของคุณอีกครั้ง และข้อผิดพลาดควรหายไป
สรุป
ข้อผิดพลาด "คำเตือน: ไม่สามารถแก้ไขข้อมูลส่วนหัว - ส่วนหัวที่ส่งไปแล้ว" อาจเป็นการข่มขู่เนื่องจากเป็นข้อความยาว อย่างไรก็ตาม ข้อความแสดงข้อผิดพลาดโดยละเอียดนั้นทำให้จุดบกพร่องนี้ค่อนข้างง่ายในการแก้ไขปัญหา ไม่เหมือนกับปัญหาอื่นๆ ปัญหานี้สุภาพพอที่จะบอกคุณได้ว่าไฟล์ใดเป็นสาเหตุของปัญหา และคุณต้องตรวจสอบบรรทัดของโค้ดใด
มีสองวิธีในการแก้ไขปัญหา ทั้งนี้ขึ้นอยู่กับไฟล์ที่ก่อให้เกิดข้อผิดพลาด:
- แก้ไขข้อผิดพลาดโดยใช้ตัวแก้ไขปลั๊กอิน/ธีม หรือเปลี่ยนปลั๊กอิน
- แก้ไขไฟล์ปัญหาผ่านไคลเอนต์ FTP/SFTP
การค้นหาแหล่งที่มาของข้อผิดพลาดนี้ทำได้ง่าย อย่างไรก็ตาม การแก้ไขอาจเป็นปัญหาได้หากคุณไม่คุ้นเคยกับ PHP
หากยังคงมีปัญหาในการแก้ไขข้อผิดพลาดนี้ โปรดแบ่งปันประสบการณ์ของคุณกับชุมชนของเราในความคิดเห็นด้านล่าง!