2016-08-17 3 views
1

私は、応答を返した後、バックグラウンドでさらに情報を処理する必要があるPHPスクリプトを持っています。単一のPHPスクリプトでFastCGIの出力バッファを無視することはできますか?

私はそれがthis answerを次と同様にFastCGI Output Bufferをオフにすることで働かせた:

<IfModule mod_fcgid.c> 
FcgidOutputBufferSize 0 
</IfModule> 

これは、FastCGIの出力バッファをオフにせずに動作しません。

ただし、これを必要とするスクリプトは1つのみです。他のすべてのスクリプト用にFastCGI Output Bufferを保持できるといいですね。

1つのPHPスクリプトでFastCGI出力バッファを無視させることはできますか?

+1

出力バッファリングではなく、バックグラウンドでタスクを実行する必要があるようです。 – Sammitch

+0

しかし、ユーザーはデータでそれを開始する必要があります。 – Shawn

+1

これはどんな機能でも、そのパラメータをとり、即時のタスク(コンテンツの生成など)を実行し、バックグラウンドタスクを開始して戻ります。このページは、出力バッファリングを選択的に無効にすることなく、期待どおりに配信されます。 – Sammitch

答えて

1

おそらくネストされたApacheディレクティブを使用してリクエストURIをチェックできます。 このように:

<IfModule mod_fcgid.c> 
    <If "%{REQUEST_URI} == '/path/to/script.php'"> 
     FcgidOutputBufferSize 0 
    </If> 
</IfModule> 
+0

スクリプト内の特定の関数にのみこれを必要とすればどうしますか? – Shawn

+0

@Shawn申し訳ありませんが、私はそれを行う方法がわかりません。うまくいけば、知っている誰かが答えることができます。 –

+0

cPanelはあなたのソリューションに構文エラーを投げかけ続けます。何か案が? – Shawn

関連する問題