在使用Drupal开发中文网站是,有时遇到如下的PHP错误,几乎可以肯定是由于文件编码或<?php?>代码块中的非法字符引起。
bq.
Cannot modify header information - headers already sent by
首先,检查watchdog日志,其中标注了引起错误的文件的名称,集中检查该文件即可。
一般的错误会集中在如下几条:
文件使用UltraEdit等编辑工具另存为"UTF-8",此时的文件格式会有问题。本人一般采用EditPlus。解决办法是: 先把文件另存为"ANSI"格式,然后使用EditPlus打开文件,另存为"UTF-8";
在输入一些英文符号时,不小心输入了全角的符号,如“<”“>”等等,仔细检查如上watchdog日志中注明的出错文件;
在有PHP和HTML混合的页面中,文件结束处"?>"后有空格,空行或者有其它非法字符