web-dev-qa-db-ja.com

プラグインでwpdbを使用するとob_end_flushエラーが発生する

私はワードプレスでデータベースの相互作用をテストするための小さなプラグインを作成しました。テーブルに引数を入力する小さな関数があります。

もし私が私の関数をthemefileで呼ぶなら、それは私のテーブルに私のテスト値を入力します、しかし私が他のプラグインからそれを呼ぶならば私はこのエラーを得ます:

Notice:ob_end_flush():2504行目の/.../wp-includes/functions.phpにzlib出力圧縮(0)のバッファを送信できませんでした

このエラーが何を意味するのか私にはわかりません、誰かがそれに何らかの光を当てることができますか?

編集:私は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
andeersg

あなたはその情報を提供しなかった、それで私は少し推測しなければならない:あなたはPHP 5.4を使用していて、zlib.output_compressionはあなたのサーバーでonですか?

それなら バグ#18525 につまずいただけです。可能な解決策:

  • zlib.output_compressionを無効にします。
  • そこに提供されているパッチを適用し、それがうまくいけばそのチケットについて報告してください
  • 通知を無効にします。

プラグインを一般に公開することにしたときにできることは別の問題です…

3
fuxia