Khắc phục lỗi: “cannot modify header information”

by Huỳnh Trung on February 2, 2010

Warning: Cannot modify header information là một lỗi mà các bạn thường gặp khi edit một file nào đó “bằng tay”. Nhiều bạn đã đặt câu hỏi và nhận được câu trả lời. Tuy nhiên, nhận thấy cũng còn nhiều bạn gặp lỗi này mà chưa biết khắc phục, HT mạn phép chia sẽ chút kinh nghiệm của mình khi gặp lỗi này.

Một HTTP response ( trả về ) thông thường bao gồm 2 phần là header( đầu) và content (nội dung), Phần header trong 1 HTTP response chỉ ra bản chất của response và  cách xử lý với chúng. Ví dụ, 1 response có chỉ ra “Location” trong header , cái này báo cho trình duyệt để tự động chuyển đến Url được chỉ ra trong header.Hoặc 1 response có “Content-type” trong header, trình duyệt sẽ xử lý nội dung theo loại nội dung: image xử khác , text xử khác, Flash xử khác :) Các bạn muốn tìm hiểu thêm thì nhờ bạn Google nhé.

Cách khắc phục khá là đơn giản, bạn chỉ việc xóa ký tự BOM. Một số phần mềm soạn thảo không hiển thị ký tự này nhưng nó lại tồn tại. Để xóa nó bạn hãy để con trỏ chuột phía trước <?php và bấn phím delete đến khi xóa luôn <?php và gõ lại, cuối trang cũng xóa tất cả chỉ còn ?> thôi.

Một cách khác là bạn dùng Notepad++, chọn chế độ “Encode in UTF-8 without BOM” (HT toàn dùng thằng này :) ). Bạn có thể xem ảnh minh họa dưới đây.

chọn chế độ "Encode in UTF-8 without BOM"

chọn chế độ "Encode in UTF-8 without BOM"

Chúc bạn thành công.

P/s: Bạn fix trong file bạn vừa edit dẫn đến bị lỗi; thường là wp-config.php, các file trong theme; v.v… WP thường báo lỗi các file pluggable.php, wp-login.php, v.v… nhưng bạn không cần phải sửa trong đó (trừ khi bạn edit nó).

Bài viết liên quan

{ 2 trackbacks }

HuTruc
February 2, 2010 at 4:38 pm
Tweets that mention Khắc phục lỗi: — Hư Trúc Blog -- Topsy.com
February 7, 2010 at 2:21 pm

{ 18 comments… read them below or add one }

khoancatbetong.com March 3, 2010 at 8:44 am

Thực ra thông báo trên không phải nguyên nhân chính là lỗi liên quan đến BOM không đâu. Nguyên nhân sâu xa đó là do đã có thông tin header được xuất ra. Ta có thể đặt ob_start(); ở đầu file script và ob_end_flush(); để giải quyết vấn đề vì ta ngăn việc vô ý ta làm PHP gửi header sớm.

Reply

Huỳnh Trung March 6, 2010 at 1:45 pm

Bạn nói chính xác, đó là thủ thuật về lập trình (HT không phải dân chuyên về code, tuy nhiên cũng có tham khảo một ít về nó nên cũng biết chút đỉnh). Bài viết này HT chỉ muốn giới thiệu một cách đơn giản để khắc phục việc này thôi. Cảm ơn bạn đã góp ý, rất mong nhận được những góp ý của bạn trong những bài viết khác trên HT blog :2:

Reply

nano February 27, 2010 at 1:04 pm

Hồi mới tập tành viết html toàn xài notepad của windows mà lại encode là unicode nữa chứ :) ). Sau cũng xài notepad viết php nên encode lại là utf-8 => gặp tình trạng tương tự. Riết rồi ông anh mới giới thiệu cho cái notepad++ :D

Reply

Huỳnh Trung February 27, 2010 at 2:07 pm

Dùng notepad của win để viết đúng là pro thật :) Cái notepad++ dễ nhìn hơn, HT kết thằng này :d

Reply

Tech Daring February 20, 2010 at 10:47 am

Trước vẫn hay bị hoài nhưng giờ thì hết rồi. ! Lên tay
Tech Daring´s last blog ..Google Buzz takes sharing realtime My ComLuv Profile

Reply

Huỳnh Trung February 20, 2010 at 11:44 am

Lâu ngày phải lên chứ, giậm chân tại chổ hoài sao bạn :) Thế là tốt rồi, năm mới, chúc bạn cứ lên đều đều :2:

Reply

PenFlag February 8, 2010 at 1:37 am

Mới test cái login form short code của bác xong gặp ngay lỗi này :D

Reply

Huỳnh Trung February 8, 2010 at 9:47 pm

Thế đã fix được chưa :d

Reply

Hutek February 3, 2010 at 11:35 am

Cách bố trí của giao diện mới trông được đấy bác nhưng mà phần Header nên chỉnh cho nó ăn theo với tông chung và phần footer bác nên lược bỏ đi một số module cho đỡ rối, để khoảng 3 cái thôi
p/s đây cũng là một kinh nghiệm hữu ích cho mọi người vì đôi lúc mọi người ko để ý, nhất là dùng notepad còn với các chương trình chuyên về code thì sẽ ko có lỗi này
Hutek´s last blog ..only the best themes My ComLuv Profile

Reply

Huỳnh Trung February 4, 2010 at 3:01 pm

Thanks bác đã góp ý, bận quá nên vẫn chưa xong đấy mà :) Cái footer đúng là vẫn còn rờm rà, nhưng vẫn chưa tìm được ý tưởng gì để rút gọn nó, chủ yếu là liên kết :(
Hì, tất nhiên là với những bạn chuyên về code thì điều này quá bình thường, còn những bạn mới thì nó khá hữu ích, HT lâu lâu cũng bị bởi vì mình vẫn là lính hơi cũ thôi :)

Reply

Mr. Giải Pháp Số February 2, 2010 at 11:43 pm

Đã add link của Hư Trúc trên blog Giải Pháp Số rồi nhé! :)
Have a nice day! :vic:

Reply

Huỳnh Trung February 3, 2010 at 2:16 am

Thanks, hợp tác vui vẻ.

Reply

Tinh February 2, 2010 at 6:13 pm

Trước đây cũng gặp tình trạng này, mà thường thấy trên IE. Thanks nhé

Ah, mà blog HuTruc bây giờ là 1 bản sao của Minh Mèo nhỉ, giống thế :-) :D
Tinh´s last blog ..Google Analytics Chính Thức Có Tiếng Việt My ComLuv Profile

Reply

Huỳnh Trung February 2, 2010 at 6:27 pm

Ủa, cái này có liên quan gì đến trình duyệt nhỉ :bi:
Vâng, mới làm quen với thesis, chưa có ý tưởng gì để edit lại theo ý thích nên tạm bê về, đang thử nghiệm edit lại một tý. Có lẽ giống với cái bác đang dùng, nhưng đơn giản hơn. Hy vọng sẽ xuất hiện trước tết :vic:

Reply

Tinh February 2, 2010 at 6:34 pm

Đừng nói là bác lại bê bên Minh Mèo về nhé :D

Reply

Huỳnh Trung February 2, 2010 at 6:49 pm

Chính thế, hiện giờ bác có thấy gì khác biệt không? :D

Reply

GiaKhang February 2, 2010 at 4:40 pm

Hay quá, thế mà trước giờ không biết, thank bác nhá. :2:

Reply

Huỳnh Trung February 2, 2010 at 5:06 pm

Không có gì, chút kinh nghiệm cho anh em đỡ khổ thôi :D

Reply

Leave a Comment

CommentLuv Enabled
:chem: :D :) :x :2: :vic: more »

Previous post:

Next post: