[PHP-users 34971] Re: output_add_rewrite_varで正しくリライトされない

harai @ netcompass.co.jp harai @ netcompass.co.jp
2010年 1月 26日 (火) 23:54:57 JST


はらいです。

# 前の投稿で、2000 - 8 の引き算を間違えました……恥ずかしすぎる(汗)。

本件、(私が携わる当面の問題としては)解決しました。

   output_buffering = On

または、

   output_buffering = Off

という設定をすることで、正常に動作するようになりました。

output_buffering でバッファサイズを数値で指定すると、
何がしかの不具合があるようです。
(バッファの境界でマッチングに失敗するとか?)

なお、柳本さんから「コマンドラインからphpを実行した場合は正常に動作する」旨の
情報をいただきまして、私も正常動作を確認しましたが、

http://php.net/manual/ja/outcontrol.configuration.php
には、output_buffering の説明として、
「PHP 4.3.5 以降、PHP-CLI ではこのディレクティブが常に Off となります。」
とありますので、
コマンドラインで正常動作するのはこのためかと思われます。

ちなみに、PHP 5.2.12 の、php.ini-dist には、

   output_buffering = Off

と記述されており、php.ini-recommended には、

   output_buffering = 4096

と記述されています。

php.ini-recommended を参考に php.ini を作成すると、
問題が起こり、php.ini-dist から起こせば大丈夫のようで、
同じ Windows 版でも、正常動作したりしなかったりと挙動が異なるのは
そのせいかも知れません。

# となると、Linux でも output_buffering = 4096 で問題が起こるのでしょうか?

皆様、ありがとうございます。


PHP-users メーリングリストの案内