Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Bagaimana untuk memaparkan kod ralat dalam php

Bagaimana untuk memaparkan kod ralat dalam php

PHPz
PHPzasal
2023-04-24 10:53:01379semak imbas

Dalam pengaturcaraan PHP, ralat adalah perkara biasa. Ralat ini boleh disebabkan oleh ralat pengekodan, konfigurasi pelayan atau input pengguna yang salah. Tanpa mengira punca ralat, pembangun perlu mengetahui ralat itu, menyiasat puncanya dan membetulkannya. Dalam PHP, memaparkan kod ralat ialah teknik penyahpepijatan penting yang membantu pembangun mendiagnosis masalah dengan cepat dan mencari penyelesaian.

PHP menyediakan beberapa cara untuk memaparkan kod ralat, termasuk melalui penyemak imbas, pengelogan dan melalui antara muka baris arahan (CLI). Di bawah ini kami akan memperkenalkan kaedah ini satu demi satu.

  1. Paparkan kod ralat PHP melalui penyemak imbas

Semasa peringkat pembangunan dan penyahpepijatan, ralat biasanya dikeluarkan terus ke penyemak imbas supaya pembangun boleh menyemaknya tepat pada masanya. Untuk mendayakan ciri ini, anda perlu menambah kod berikut pada skrip PHP:

<?php
    ini_set(&#39;display_errors&#39;, 1);
    ini_set(&#39;display_startup_errors&#39;, 1);
    error_reporting(E_ALL);
?>

Pilihan konfigurasi PHP boleh ditukar secara dinamik dalam skrip dengan memanggil fungsi ini_set(). Dalam kod di atas, kami menetapkan pilihan display_errors dan display_startup_errors kepada 1, yang akan membolehkan paparan ralat dalam penyemak imbas semasa skrip berjalan. Fungsi error_reporting() mengawal ralat mana yang akan ditangkap dan dipaparkan.

Pada ketika ini, apabila ralat berlaku semasa skrip PHP sedang berjalan, mesej ralat akan dipaparkan terus dalam penyemak imbas.

  1. Gunakan pengelogan ralat PHP untuk merekod mesej ralat

Dalam persekitaran pengeluaran, mengeluarkan mesej ralat secara terus dalam penyemak imbas mungkin mempunyai kesan negatif kepada pengguna. Oleh itu, adalah lebih biasa untuk log ralat ke fail. PHP menyediakan logger lalai yang menulis mesej ralat ke fail log menggunakan fungsi error_log(). Kod berikut mencatatkan semua mesej ralat ke fail my-error.log:

<?php
    ini_set(&#39;log_errors&#39;, 1);
    ini_set(&#39;error_log&#39;, &#39;/path/to/my-error.log&#39;);
?>

Memandangkan fungsi error_log() mempunyai tiga parameter (mesej ralat, jenis ralat dan laluan fail log), anda boleh menggunakan ia untuk log pelbagai jenis mesej ralat.

  1. Paparkan mesej ralat PHP melalui antara muka baris arahan

Apabila menjalankan skrip PHP melalui antara muka baris arahan, anda boleh menggunakan parameter -d untuk menukar konfigurasi PHP secara dinamik. Contoh berikut menggunakan parameter -d untuk menetapkan tahap ralat:

php -d display_errors=on script.php

Arahan ini menetapkan ralat PHP untuk dipaparkan dalam antara muka baris arahan. Apabila ralat berlaku semasa skrip berjalan, ia akan dipaparkan terus dalam tetingkap terminal.

Ringkasan

Tidak kira kaedah yang anda gunakan untuk memaparkan kod ralat PHP, mengikut amalan terbaik ini boleh memastikan keselamatan dan kebolehpercayaan kod anda:

  1. Dalam pengeluaran persekitaran, lumpuhkan paparan mesej ralat untuk mengelak daripada mendedahkan maklumat sensitif kepada pengguna.
  2. Gunakan logger untuk merekodkan mesej ralat untuk nyahpepijat atau memantau kesihatan sistem.
  3. Hanya dayakan paparan mesej ralat apabila diperlukan untuk nyahpepijat atau pembangunan.
  4. Ketahui dan ikuti amalan terbaik keselamatan PHP untuk menghalang penyerang daripada menggunakan maklumat yang salah untuk menyerang sistem anda.

Dengan mempelajari dan menggunakan teknologi paparan kod ralat PHP dengan betul, pembangun boleh mengenal pasti masalah dengan lebih cepat dan memastikan kebolehpercayaan dan keselamatan kod dengan lebih baik.

Atas ialah kandungan terperinci Bagaimana untuk memaparkan kod 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