Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Bagaimana untuk Menangkap Ralat \"Masa Pelaksanaan Maksimum\" dengan Anggun dalam PHP?

Bagaimana untuk Menangkap Ralat \"Masa Pelaksanaan Maksimum\" dengan Anggun dalam PHP?

DDD
DDDasal
2024-11-01 12:25:02311semak imbas

How to Catch the

Menangkap Ralat "Masa Pelaksanaan Maksimum" dalam PHP

Ralat maut PHP "Masa pelaksanaan maksimum melebihi 30 saat" berlaku apabila skrip menggunakan lebih banyak masa daripada had masa pelaksanaan maksimum yang dikonfigurasikan pelayan. Walaupun meningkatkan had ini selalunya disyorkan, ia juga penting untuk mengendalikan ralat dengan anggun.

Menangkap Ralat

PHP tidak menyediakan pengecualian terbina dalam untuk pengendalian kesilapan ini. Walau bagaimanapun, penyelesaian berikut boleh digunakan:

  1. Daftar Fungsi Penutupan:
    Gunakan register_shutdown_function() untuk melaksanakan fungsi tersuai apabila skrip ditamatkan (biasanya atau dengan ralat).
  2. Dapatkan Ralat Terakhir:
    Dalam fungsi penutupan, ekstrak mesej ralat terakhir dan taip menggunakan error_get_last(). Ini akan mengembalikan tatasusunan dengan maklumat ralat.

Contoh:

<code class="php">function shutdown()
{
    $a = error_get_last();

    if ($a == null) {
        echo "No errors";
    } else {
        echo "Error: " . $a['message'] . "\n";
        echo "Type: " . $a['type'] . "\n";
    }
}

register_shutdown_function('shutdown');
ini_set('max_execution_time', 1); // Set a low execution time limit for testing
sleep(3); // Simulate a long-running task</code>

Dalam contoh ini, kami telah mendaftarkan fungsi penutupan bernama penutupan. Jika tiada ralat telah berlaku, ia akan mencetak "Tiada ralat." Jika ralat telah berlaku, ia akan memaparkan mesej ralat dan taip.

Sumber Tambahan:

  • Manual PHP: http://www.php. net/manual/en/function.set-error-handler.php#106061
  • Manual PHP: http://www.php.net/manual/en/function.register-shutdown-function.php

Atas ialah kandungan terperinci Bagaimana untuk Menangkap Ralat \"Masa Pelaksanaan Maksimum\" dengan Anggun dalam PHP?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn