2012-09-29 27 views
1

可能重複:
How to catch the fatal error: Maximum execution time of 30 seconds exceeded in PHP捕捉set_time_limit()函數達到 - PHP

我以前set_time_limit(60);多次使用。但是,如果超過這個限制,它有沒有什麼可以捕捉的,現在它只是以相同的舊錯誤進行轟炸。

我想抓住它失敗,然後以我自己的方式處理它?

+2

我擔心的極限是極限,我不知道有你能趕上一個軟限制。我想說你應該做更多的研究,然後回顧一下你發現的內容。例如。甚至是一個可捕捉的致命錯誤? – hakre

回答

3

從php.net意見節set_time_limit

<?php 
set_time_limit(60); 
ob_start(); 
function shutdown() { 
    $out = ob_get_clean();echo $out; // echo output if required 
    // do your processing code 
} 
register_shutdown_function('shutdown'); 

// your code 
?> 
+0

嗯。我認爲這不會起作用,但[這裏的代碼](http://codepad.org/vCJklBng)實際上在我的服務器上工作(儘管不在鍵盤上,它可能有它自己的自定義超時處理程序)。 –

+0

這裏是我的網站上的演示代碼,一秒鐘超時:http://jfcoder.com/t/timeout.php和代碼隱藏:http://pastebin.com/FwBBA0qy –

+0

@JaredFarrish是的,它也在我的服務器上工作。 'codepad'會有一些阻止長循環和處理超時的機制。 – air4x