How To Fix Wordpress "Cannot Modify Header Information" Message


This error also presents as "Cannot modify header information" depending on PHPhường version.

Bạn đang xem: How to fix wordpress "cannot modify header information" message

In short, it means that somewhere in the code, something was printed lớn the browser before had finished preparing the page. This is most often caused by custom or modified code contributed from sources outside, so inspect your uniquely added code (including themes) first..

If you get a "Headers already sent" error, there are three likely causes.

If this error is not the first error message on the page, then it is most likely a "avalanche effect" of previous errors và you may ignore it. Instead, focus on fixing the errors before it. When you fix the first error message(s), the "Headers already sent" error(s) will most likely disappear.

Text editors sometimes insert a UTF-8 byte order mark at the top of a file. In this case, the error message will usually say that "output started" at line 1 of some tệp tin. To fix this, configure your text editor lớn save the file without a byte order mark.

However, if you get an error "Headers already sent" as the first error and it tells you the error is near the end of a tệp tin (check which file "output started at" points to), that probably means that there are extra spaces or lines after a closing ?> php tag. In coding standards, it is strongly recommended (for this very reason) that PHP.. files should not have any closing ?> tags . Delete them, và everything should work fine.

Extra whitespace being added probably is caused by a bad unpacking program and / or a non-compliant editor (Windows Notepad or Wordpad, Mac TextEdit) adding it.

Xem thêm: Câu Lệnh Điều Kiện Và Vòng Lặp For Trong Javascript, Hiểu Rõ Về Vòng Lặp For Trong Javascript

Problems with "headers already sent" can also be caused by having a blank line at the end of *.inc files. or more likely PHP. seem lớn have problems with extra spaces here và there.

Cheông xã all *.inch files to make sure there are no closing php ?> tags in any of them. Closing php ?> tags are not needed in your *.inh files. Also, kiểm tra all *.php files khổng lồ make sure there are no blank lines at the beginning or at the kết thúc of the file.

If the error message indicates that this is caused by a module, disable modules one by one khổng lồ find out which one is causing the problem.

This can also be caused by UTF-8. If a website is coded in ASCII and php files are being saved as UTF-8, it can cause this message. If the website và DB are both UTF-8, it should be ok khổng lồ save php files as UTF-8.

Additionally, this error message is related lớn the "output_buffering" variable in php.ini. If output_buffering is set to some cache, the VPS will skết thúc headers with delay (or modify them shortly after they are sent), and this error will not be tripped. But, if output_buffering is mix to lớn 0 or not at all, then headers can be sent at only one moment và, if there"s bad code, it will trip this error message. To sum up, turning on the "output_buffering" variable in php.ini fixes this problem.


Don"t get paranoid, but if you see this on a site that was previously working well, this could be a symptom of code injection. It"s not uncommon for hackers who have sầu compromised a hệ thống lớn run scripts that automatically inject HTML code into any *.php files they can find. Often by inserting spam link into page footers etc. Occasionally, this will have the side effect of breaking the code execution, or producing this error. Though rare, this error appearing on a previously stable site has sometimes led khổng lồ a haông chồng being discovered.To kiểm tra for this fully, the only real solution is to lớn compare your current live code with the official version. In practice, checking *timestamps* on the files on the VPS can provide clues also. Search elsewhere for instructions on recovering from (& preventing) such hacks.