在PHP 中執行複雜任務時,可能會遇到「超出最大執行時間30 秒」致命錯誤錯誤。當腳本花費的時間超過允許的執行時間(預設通常設定為 30 秒)時,就會發生此錯誤。
雖然增加分配的時間似乎是一個解決方案,但它並不總是實用或可取的。相反,優雅地處理此錯誤以避免用戶體驗或應用程式功能中斷是有益的。
要捕獲「超出最大執行時間」錯誤,PHP提供使用 shutdown() 函數的內建機制。當腳本終止時,此函數會自動執行,讓您可以擷取並顯示有關上次發生的錯誤的資訊。
這是一個範例實作:
<code class="php"><?php function shutdown() { $error = error_get_last(); if ($error) { if ($error['type'] === E_ERROR && $error['message'] === 'Maximum execution time of 30 seconds exceeded') { // Handle the error appropriately // ... } } } register_shutdown_function('shutdown'); // Set a low execution time limit for testing ini_set('max_execution_time', 1); // Intentionally sleep for longer than the time limit to trigger the error sleep(3); ?></code>
此程式碼註冊 shutdown( ) 函數在腳本終止時執行。然後,它設定較低的執行時間限制並強制腳本休眠較長時間,從而觸發「超出最大執行時間」錯誤。當錯誤發生時, shutdown() 函數會檢索錯誤詳細資訊並允許您進行適當的處理。
以上是如何優雅地處理 PHP 中的「超出最大執行時間」錯誤?的詳細內容。更多資訊請關注PHP中文網其他相關文章!