wrodpress 错误提示"Cannot modify header information - headers already sent",可恶的utf8 BOM
wordpress换个服务器测试经常会出现错误,提示Cannot modify header information - headers already sent by (.../wp-config.php) in ...
这个错误提示的意思其实是有多个header()输出。但是仅仅是改了wp-config.php的配置,没有改其他东西,就会出现这个问题。网上说的一些原因
session.auto_start = 1 // 0 为不自动打开,请设为1 session.save_path= /tmp //对此目录是否有写权 把php.ini中output_buffering = off改为output_buffering = on但是这些服务器都配置好了,不是这些原因。 问题还是出在wp-config.php这个文件上。 这个文件的php标签<?php 和?>外边不能有空白字符。当用一些编辑器编辑过之后,就会添加utf-8 BOM (Byte Order Mark), 即utf-8标签。这样就会在文件的开头添加一个输出,导致上面的问题。 在windows下有一些编辑器可以保存时选择无BOM(如editplus),这样重新保存一下文件,选择无BOM,然后替换原来的文件,就可以解决问题。 网上有用php来删除BOM的代码。将代码保存为php文件,放在某目录下,运行一下就可以删除当前目录(不包含子目录)下文件的BOM。当然文件权限要允许写入。下面是代码: