在你开始告诉我这个错误已有10000000个帖子之前,我知道。
我正在处理wordpress插件,并在提交编辑页面时收到以下错误:
Warning: Cannot modify header information - headers already sent by (output started at ***\wp-content\plugins\***\meta-class-load.php:1067) in ***\wp-includes\pluggable.php on line 934
这个错误的不同之处在于它引用的行不与标题接口,也不在之前输出内容。我检查了围绕php标签的空白,并且没有:P
这是第1067行的内容(和周围环境):
$name = $field['id'];
$type = $field['type'];
$old = $this->get_meta($post->ID, $field); // THIS IS THE LINE
$new = isset($_POST[$name]) ? $_POST[$name] : ($field['multiple'] ? array() : '');
任何想法或解决方案都会有所帮助。谢谢!
答案 0 :(得分:1)
在发送HEADER
之前不要输出任何内容,如果这样做,您将无法发送标题,它将引发错误!
在生产服务器上设置error_reporting(0)
以确保在header
答案 1 :(得分:0)
1067是输出内容的行。第934行是设置标题的那一行。我认为你让他们倒退了。
答案 2 :(得分:0)
在发送所有标头之前无法发送输出。错误中列出的文件之一,或者可能是其中一个文件包含的文件,正在输出内容。它可能是有意的,有点白色空间,警告或错误信息。
为防止出现错误,您可以尝试调用ob_clean();或ob_end_clean();在标题调用之前清除输出缓冲区。 ob_end_clean();在这些情况下几乎总是成功的。