Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Kemahiran pengendalian ralat dan penyahpepijatan PHP dikongsi oleh pengaturcara asing

Kemahiran pengendalian ralat dan penyahpepijatan PHP dikongsi oleh pengaturcara asing

WBOY
WBOYasal
2023-05-11 12:12:06966semak imbas

PHP (Hypertext Preprocessor) ialah bahasa skrip yang digunakan secara meluas dalam pembangunan web. Pengendalian ralat dan penyahpepijatan dianggap sebagai bahagian yang sangat penting semasa membangunkan aplikasi PHP. Pengaturcara asing telah mengumpulkan banyak kemahiran pengendalian dan penyahpepijatan PHP melalui pengalaman. Berikut adalah beberapa kemahiran biasa dan praktikal.

  1. Pengubahsuaian tahap pelaporan ralat
    Dalam PHP, jenis ralat PHP tertentu boleh dipaparkan atau ditindas dengan mengubah suai tahap pelaporan ralat. Dengan menetapkan tahap pelaporan ralat kepada "E_ALL", semua jenis ralat PHP boleh dipaparkan.

    error_reporting(E_ALL);

Apabila menetapkan tahap pelaporan ralat, pembangun boleh menggunakan pemalar berikut:

  • E_ERROR: ralat maut
  • E_WARNING: Amaran yang tidak menjejaskan pelaksanaan program
  • E_NOTICE: Amaran yang tidak menjejaskan pelaksanaan program, tetapi terdapat masalah yang berpotensi
  • E_PARSE: Ralat penghuraian
  • E_DEPRECATED : Peringatan kod terbengkalai
  • E_STRICT: Peringatan standard kod

Pembangun boleh memilih tahap laporan ralat yang perlu dipaparkan berdasarkan keperluan khusus projek . Pada masa yang sama, dalam persekitaran pengeluaran, tahap pelaporan ralat harus ditetapkan kepada E_ERROR dan semua jenis ralat lain harus ditindas.

  1. Ralat pengelogan
    Dalam proses pembangunan PHP, pengelogan ralat adalah sangat penting. Dengan merekodkan log ralat, masalah boleh ditemui dan diselesaikan dalam masa. Kita boleh log ralat ke fail yang ditentukan dengan mengubah suai pilihan error_log dalam fail php.ini. Pilihan ini menyokong dua nilai berbeza:
  • error_log = /path/to/log.file: Log ralat ke fail /path/to/log.file.
  • error_log = syslog: Rekod ralat pada log sistem.

Pada masa yang sama, anda juga boleh log ralat ke fail yang ditentukan dengan memanggil fungsi error_log() dalam kod:

error_log('Error message', 3, ' /path/ to/log/file');

  1. Penyahpepijat titik putus
    Penyahpepijat titik putus ialah kaedah penyahpepijatan yang sangat biasa. Dalam alat IDE matang seperti PHPStorm, anda boleh nyahpepijat kod dengan menambahkan titik putus, menjeda pelaksanaan kod, melihat nilai pembolehubah dan proses pelaksanaan fungsi. Apabila persekitaran pembangunan tidak mempunyai IDE, anda boleh menggunakan sambungan PHP seperti xdebug untuk melaksanakan penyahpepijatan titik putus. Ini boleh dicapai melalui tiga langkah berikut:
  • Pasang dan konfigurasikan sambungan xdebug
  • Tambah titik putus dalam kod
  • Mulakan xdebug dan tunggu IDE untuk menyambung
  1. Output Nyahpepijat
    Menggunakan fungsi output nyahpepijat seperti echo atau var_dump, pembangun boleh mengeluarkan nilai pembolehubah dan maklumat penyahpepijatan apabila kod dilaksanakan. Walau bagaimanapun, dalam persekitaran pengeluaran, maklumat ini harus dilumpuhkan atau dipadamkan. Jika tidak, penyerang boleh menggunakan maklumat ini untuk menjejaskan aplikasi.

Dalam persekitaran pembangunan, fungsi ini boleh didayakan atau dilumpuhkan dengan menggunakan fungsi ini_set().

ini_set('display_errors', 'On');
ini_set('html_errors', 'On');

Pada masa yang sama, sama seperti penyahpepijatan titik putus, pihak ketiga boleh juga digunakan perpustakaan Kelas, seperti Kint, DebugBar, dll. untuk menyahpepijat output.

  1. Menggunakan pengendalian pengecualian
    Pengendalian pengecualian ialah cara pengendalian ralat yang agak standard dan piawai. Dengan membuang pengecualian, ralat boleh dikendalikan dengan cekap semasa pelaksanaan kod. Pengecualian boleh ditangkap, dikendalikan, dilog dan dibuang semula jika perlu. Ini menjadikan kod lebih jelas dan lebih mudah diramal, lebih mudah untuk diselenggara dan nyahpepijat.

    cuba {
    //Throw exception
    throw new Exception('Ralat Mesej');
    } tangkap (Exception $e) {
    //Rekod dan kendalikan pengecualian
    error_log($e->getMessage());
    }

Dengan menggunakan pengendalian pengecualian, pengendalian ralat dan kod boleh diasingkan, menjadikan kod mudah dikembangkan dan dipindahkan .

Ringkasan
Pengendalian ralat PHP dan penyahpepijatan adalah bahagian penting dalam membangunkan aplikasi PHP. Dengan menggunakan teknologi seperti pengubahsuaian tahap pelaporan ralat, pengelogan ralat, penyahpepijatan titik putus, output penyahpepijatan dan pengendalian pengecualian, pembangun boleh menemui, mencari dan menyelesaikan masalah dengan lebih cepat. Pengaturcara asing telah mengumpul banyak kemahiran pengendalian dan penyahpepijatan PHP melalui pengalaman, yang boleh memberikan panduan dan rujukan berguna untuk kerja pembangunan kami.

Atas ialah kandungan terperinci Kemahiran pengendalian ralat dan penyahpepijatan PHP dikongsi oleh pengaturcara asing. 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