我在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;
}
?>
沒有辦法使用錯誤處理程序?我的意思是它表明它是一個致命錯誤..: - \ – 2010-05-13 11:03:55
致命錯誤不能由PHP中的自定義錯誤處理程序處理。 – ThiefMaster 2010-05-13 14:06:28