PHP でのこのエラーに関する多くの質問を見てきました。しかし、制限時間の設定に関する解決策はどこでも提供されています。
しかし、私がやりたいことは、エラーを検出し、それが発生した場合は別のアクションに切り替えることです。つまり、リクエストが設定された最大時間を超えた場合、エラー メッセージを表示して停止するのではなく、他のコード ブロックを実行し続ける必要があります。どうすればそれを達成できますか?
=======
このコードがサイトであることがわかりましたが、役に立ちますか?
<?php
//open error reporting, the error message is required in this script
error_reporting(1);
//for testing, set maximum execution to 1 second
set_time_limit(1);
//turn on output buffering and set callback function
ob_start('callback');
//------------------------------------------------------------------------------
//main program(dead loop)
while (true);
//script completed(impossible)
echo 'Completed!';
//------------------------------------------------------------------------------
/**
* output callback, execute when end of the request
*
* @param string $buffer
* @return string
*/
function callback($buffer) {
if (false !== (stripos($buffer,'<b>Fatal error</b>'))) {
if (false !== (stripos($buffer,'Maximum execution'))) {
$buffer = 'ycTIN.com , Server Busy';
} else {
$buffer = 'ycTIN.com , Server Internal Error';
}
}
return $buffer;
}
?>