在插件中使用wpdb时出现ob_end_flush错误

时间:2012-10-26 作者:andeersg

我创建了一个小插件来测试wordpress中的数据库交互。我有一个将参数输入到表中的小函数。

如果我在主题文件中调用我的函数,它会将我的测试值输入到我的表中,但如果我从另一个插件调用它,则会出现以下错误:

注意:ob\\u end\\u flush():未能在/…中发送zlib输出压缩(0)的缓冲区/wp包括/功能。php在线2504

我不知道这个错误意味着什么,有人能解释一下吗?

编辑:我在PHP 5.4.4中使用MAMP

编辑2:

function test_db_function($name, $message){
  global $wpdb;
  $table_name = $wpdb->prefix . "testDB";

  if( $name == \'\' || $message == \'\' || !isset($name) || !isset($message)) {
    //return 0;
  }
  else{
    $rows_affected = $wpdb->insert( $table_name, array( 
      \'time\' => time(), 
      \'name\' => $name, 
      \'text\' => $message) );
  }
}

1 个回复
SO网友:fuxia

您没有提供这些信息,所以我不得不猜测一下:您使用的是PHP 5.4和zlib.output_compressionon 在您的服务器上?

然后你才偶然发现bug #18525. 可能的解决方案:

禁用zlib.output_compression.

  • 应用此处提供的修补程序,并报告该问题是否有效当你决定向公众发布插件时,你能做什么是另一个问题…

  • 结束