4

fastcgi_finish_request()この機能を使いたい。

サーバーにCPanelをインストールしていて、PHPとApacheの両方がそれを介して構成されています。ApacheまたはPHPの構成を手動で編集できないため(CPanelのため)、fastcgiを取得するためにWHMでeasyApacheを使用してビルドしました。

オプションで調整されたModFCGIDを見たので、それを有効にしました。

そのオプションを有効にしてPHPとApacheを再構築した後でもundefined function、関数を呼び出すときにへの呼び出しがありfastcgi_finish_requestます。

4

2 に答える 2

10

少し遅れましたが、人々にとって良い情報です。PHP 5.5.7 を使用した私の経験では。

mod_php を使用する PHP (標準の Apache):

ob_start();
header("Connection: close\r\n"); 
header('Content-Encoding: none\r\n');

// your code here

$size = ob_get_length();
header("Content-Length: ". $size . "\r\n"); 
// send info immediately and close connection
ob_end_flush();
flush();

// run other process without the client attached.

FastCGI および PHP_FPM を使用する PHP の場合:

// your code here

fastcgi_finish_request();

// run other process without the client attached.

fastcgi_finish_request()が実行された後、機能しlog_errorなくなったことに注意してください。Apache への接続も切断されており、FastCGI と通信してエラーをログに記録できないことが原因であると推測されます。

于 2014-01-24T23:31:30.177 に答える
8

fastcgi_finish_requestPHP-FPM SAPI 固有の関数であり、標準の php-fcgi バイナリ (Apache [mod_fcgid、mod_fastcgi]、nginx、lighttpd などで使用) では使用できません。

于 2012-10-19T23:30:41.377 に答える