ホームページ  >  記事  >  バックエンド開発  >  PHP フラッシュが無効です。IIS7 での PHP リアルタイム出力メソッド

PHP フラッシュが無効です。IIS7 での PHP リアルタイム出力メソッド

墨辰丷
墨辰丷オリジナル
2018-06-01 14:42:331385ブラウズ

この記事では主にIIS7での無効なphpのフラッシュとphpのリアルタイム出力方法を紹介していますので、必要な方は参考にしてください

比較的時間のかかる操作では、操作を記録して実際に表示したい。ブラウザの時間を設定し、flush() を使用して、バッファ内のコンテンツをブラウザに送信します。しかし、iis7ではfastcgiモードで設定したPHPが実装できず、常に結果が一緒に表示されてしまいます。

for ($i=10; $i>0; $i--)
{
  echo $i.&#39;<br />&#39;;
  @ob_flush();
  flush();
  sleep(1);
}

上記のコードは、IIS のデフォルト設定では結果を段階的に表示できません。解決策は次のとおりです:

ファイル C:WindowsSystem32inetsrvconfigapplicationHost.config を開きます。システムが 64 ビット システムの場合、このファイルは 64 ビット編集ソフトウェアで開く必要があることに注意してください。ファイルが存在しないことを示すメッセージが表示されます。持参したメモ帳を開くだけでシステムが自動的に使用されます。次の段落を見つけて赤いコードを追加します。つまり、ResponseBufferLimit="0" を PHP ハンドラーに追加します。

コードをコピーします コードは次のとおりです:

<handlers accessPolicy="Read, Script">
<add name="PHP_via_FastCGI" path="*.php" verb="*" modules="FastCgiModule" scriptProcessor="E:\PHP\php-cgi.exe" resourceType="Either" responseBufferLimit="0" />

これで、試してみることができます。それでも動作しない場合は、php.ini で Output_buffering = Off を設定します。

最後の点は非常に重要です。ブラウザーによっては結果も異なります。 Chrome を使用する場合は、各エコー コンテンツに HTML が含まれていなければ機能しません。また、エコー コンテンツが短すぎると、この効果をコードの前に出力することはできません。 echo str_pad(' ', 1050); のようなスペース。Chrome では、この効果を得るには、最初に 1000 文字を超える文字を出力する必要があるようです。うまくいかない場合は、さらに試してください。

要約: 上記がこの記事の全内容です。皆様の学習に役立つことを願っています。

関連する推奨事項:

PHPでのキーワードとファイルの読み込みを使用する

phpWeChatパブリックアカウント開発モデルの詳細な説明

php WeChatパブリックプラットフォームのインタラクションとインターフェースの詳細な説明

以上がPHP フラッシュが無効です。IIS7 での PHP リアルタイム出力メソッドの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。