dedecms上传到linux空间后遇到一个问题,所有header转向失效,cookie登陆失效,无法保存登陆状态,打开错误提示以后看到错误是这样的(此错误详细描述见dedecms一个奇怪的错误):
Warning: Cannot modify header information - headers already sent by (output started at /www/users/wucailu.com/data/common.inc.php:1) in /www/users/wucailu.com/include/common.inc.php on line 178
Warning: Cannot modify header information - headers already sent by (output started at /www/users/wucailu.com/data/common.inc.php:1) in /www/users/wucailu.com/include/common.func.php on line 517
Warning: Cannot modify header information - headers already sent by (output started at /www/users/wucailu.com/data/common.inc.php:1) in /www/users/wucailu.com/include/common.func.php on line 518
Warning: Cannot modify header information - headers already sent by (output started at /www/users/wucailu.com/data/common.inc.php:1) in /www/users/wucailu.com/include/common.func.php on line 517
Warning: Cannot modify header information - headers already sent by (output started at /www/users/wucailu.com/data/common.inc.php:1) in /www/users/wucailu.com/include/common.func.php on line 518
搜索baidu google都找不到合适的答案,所有方法用尽都无济于事,今天偶尔得知还有BOM信息头这么个东西,循着这条线终于找到了问题所在,把提示的文件去掉BOM头就ok啦
去掉BOM头的方法参见:
推荐使用ultraedit,直接可以另存为utf8 - 无BOM
=================================================
去掉UTF-8文件的BOM的方法
EmEditor软件,先打开任意一个PHP文件,按Alt+回车,选择“文件”的标签,在“打开时的字符码”,选择“UTF-8”,然后关闭EmEditor。以后打开任何PHP文件,只要按Ctrl+S,或者Ctrl+E,就可以保存为UTF-8编码的无BOM文件,十分方便。
UltraEdit可以点击“文件→另存为”,格式选择“UTF-8无BOM”,英文网页每次都需要这个操作。否则,在按Ctrl+S时,会被保存为ANSI格式。中文网页,在第一次另存为之后,以后只要按Ctrl+S即可。
EmEditor也可以用同样的方法,“文件→另存为”,字符码选择“UTF-8”,去掉“加入 Unicode 署名”前面的勾,英文网页每次都需要这个操作。同样,中文网页,在第一次另存为之后,以后只要按Ctrl+S即可。EmEditor建议按照第一段文字的方法设置,以后无需每次都使用“另存为”。