Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Bagaimana untuk membolehkan peringatan ralat dalam php

Bagaimana untuk membolehkan peringatan ralat dalam php

PHPz
PHPzasal
2023-05-24 14:18:091582semak imbas

PHP ialah bahasa skrip yang digunakan secara meluas yang boleh membangunkan aplikasi web dengan cepat. Semasa proses pembangunan, penemuan ralat dan penyahpepijatan adalah sangat penting. Menghidupkan gesaan ralat PHP boleh membantu pembangun mencari dan menyelesaikan masalah tepat pada masanya. Dalam artikel ini, kami akan meneroka cara mendayakan gesaan ralat PHP.

1. Tahap pelaporan ralat

Dalam PHP, tahap pelaporan ralat dibahagikan kepada tahap berikut:

  1. E_ERROR: ralat maut, yang akan menyebabkan skrip menjadi berhenti berlari.
  2. E_WARNING: Ralat amaran, program masih boleh meneruskan pelaksanaan, tetapi mungkin terdapat risiko.
  3. E_NOTICE: Pemberitahuan amaran, menggesa pembangun untuk memberi perhatian kepada butiran tertentu.
  4. E_DEPRECATED: Kaedah atau fungsi yang tidak digunakan semasa pembangunan.
  5. E_STRICT: Tahap pelaporan ralat yang ketat, menggesa pembangun bahawa kod tertentu mungkin menjejaskan prestasi atau kefungsian aplikasi.

2. Cara menghidupkan gesaan ralat

Secara lalai, gesaan ralat PHP dimatikan. Untuk mendayakan gesaan ralat, kami perlu menetapkan beberapa parameter dalam fail konfigurasi PHP. Berikut ialah beberapa cara:

  1. Menggunakan fungsi ini_set() dalam kod

Anda boleh menggunakan fungsi ini_set() untuk menetapkan parameter berikut daripada kod:

a. error_reporting: Tetapkan tahap pelaporan ralat PHP.

b. display_errors: Tentukan sama ada untuk memaparkan mesej ralat dalam penyemak imbas. Khususnya, apabila parameter dihidupkan, mesej ralat akan dipaparkan dalam penyemak imbas. Jika tidak, ia tidak akan dipaparkan.

Contoh kod:

<?php
    // 开启所有错误报告
    ini_set('display_errors', 1);
    ini_set('error_reporting', E_ALL);
?>
  1. Ubah suai fail php.ini

Kaedah lain ialah mengubah suai terus parameter konfigurasi dalam fail php.ini. Anda boleh beroperasi seperti berikut:

a. Cari fail php.ini dan bukanya dengan editor teks.

b. Cari dua parameter berikut:

display_errors = Off
error_reporting = E_ALL

c. Ubah suai nilai parameter supaya ia ditetapkan kepada Hidup dan E_ALL. Simpan dan keluar dari fail.

  1. Menggunakan fail .htaccess

Jika anda tidak mempunyai kebenaran untuk mengubah suai fail php.ini, anda boleh mencipta fail .htaccess dalam direktori akar aplikasi dan tetapkan parameter berikut:

php_flag display_errors on
php_value error_reporting E_ALL

Parameter di atas mempunyai kesan yang sama seperti parameter dalam dua kaedah pertama, tetapi hanya mempengaruhi fail PHP dalam direktori dan subdirektori semasa.

3. Mekanisme pengendalian ralat

Mekanisme pengendalian ralat merujuk kepada cara PHP mengendalikan ralat ini apabila ralat berlaku dalam skrip. Berikut ialah beberapa mekanisme pengendalian ralat:

  1. cuba/tangkap blok

Mekanisme Pengecualian dalam PHP membenarkan pembangun mengendalikan ralat dalam kod. Blok cuba/tangkap biasa kelihatan seperti ini:

try {
    // try块中可能会产生异常的代码
} catch (Exception $e) {
    // 处理异常
}
  1. fungsi set_error_handler() dan restore_error_handler()

boleh dilakukan menggunakan fungsi set_error_handler() dan fungsi restore_error_handler() Mekanisme pengendalian ralat tersuai. Fungsi set_error_handler() boleh mendaftarkan pengendali ralat tersuai dalam kod, dan fungsi restore_error_handler() boleh memulihkan fungsi pengendalian ralat lalai.

Sebagai contoh, kod berikut menunjukkan cara untuk menyesuaikan pengendali ralat:

<?php
  // 定义自己的错误处理函数
  function myErrorHandler($errno, $errstr, $errfile, $errline) {
      echo "<b>My custom error:</b> [$errno] $errstr<br>";
      echo " Error on line $errline in $errfile<br>";
  }

  // 注册自定义错误处理函数
  set_error_handler("myErrorHandler");

  // 产生错误
  $test=2;
  if ($test>1) {
      trigger_error("A custom error has been triggered", E_USER_ERROR);
  }

  // 恢复默认错误处理函数
  restore_error_handler();
?>

Dalam kod di atas, kami menggunakan fungsi set_error_handler() untuk mentakrifkan fungsi pengendalian ralat tersuai. Dalam fungsi ini, kami memaparkan mesej ralat pada skrin.

4. Ringkasan

Mendayakan gesaan ralat PHP ialah operasi yang diperlukan dalam kerja pembangunan. Dalam artikel ini, kami memperkenalkan cara untuk mendayakan gesaan ralat PHP, membincangkan tahap pelaporan ralat dan memperkenalkan mekanisme pengendalian ralat secara terperinci. Semoga kaedah ini memudahkan anda untuk membangunkan aplikasi PHP dan meningkatkan kualiti aplikasi anda.

Atas ialah kandungan terperinci Bagaimana untuk membolehkan peringatan ralat 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