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

Bagaimana untuk membolehkan peringatan ralat dalam php

PHPz
Lepaskan: 2023-05-24 14:18:09
asal
1622 orang telah melayarinya

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);
?>
Salin selepas log masuk
  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
Salin selepas log masuk

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
Salin selepas log masuk

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) {
    // 处理异常
}
Salin selepas log masuk
  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();
?>
Salin selepas log masuk

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!

sumber:php.cn
Kenyataan Laman Web ini
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
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan