Rumah > pembangunan bahagian belakang > masalah PHP > Apakah kegunaan log ralat php?

Apakah kegunaan log ralat php?

青灯夜游
Lepaskan: 2023-03-15 12:48:02
asal
2372 orang telah melayarinya

Dalam PHP, log ralat digunakan untuk merekodkan maklumat ralat semasa program dijalankan, yang boleh membantu pembangun atau pengurus menyemak sama ada terdapat masalah dengan pembangun dan penyelenggara juga boleh menggunakan log ralat untuk nyahpepijat dan nyahpepijat sistem tersebut.

Apakah kegunaan log ralat php?

Persekitaran pengendalian tutorial ini: sistem Windows 7, PHP versi 7.1, komputer DELL G3

Apakah kegunaan log ralat php

Log ralat digunakan untuk merekod maklumat ralat semasa atur cara berjalan.

Rakaman log ralat boleh membantu pembangun atau pengurus menyemak sama ada terdapat masalah dengan sistem. Pengaturcara dan kakitangan penyelenggaraan boleh menggunakan log ralat untuk nyahpepijat dan menyelenggara sistem.

Jika anda perlu menulis laporan ralat dalam atur cara kepada log ralat, hanya hidupkan log_errors item konfigurasi dalam fail konfigurasi PHP.

Laporan ralat akan dilog masuk ke fail log pelayan web secara lalai, contohnya, ke fail log ralat error.log pelayan Apache. Sudah tentu, log ralat juga boleh direkodkan ke fail tertentu.

Gunakan fail yang ditentukan untuk merekodkan log laporan ralat

Jika anda ingin menggunakan fail anda sendiri yang ditentukan untuk merekodkan log ralat, pastikan anda memastikan bahawa fail ini disimpan di luar direktori akar dokumen untuk mengurangkan kemungkinan diserang. Dan fail mesti memberi kebenaran menulis skrip PHP. Andaikan bahawa dalam sistem pengendalian Linux, fail error.log dalam direktori /usr/local/ digunakan sebagai fail log ralat dan pengguna proses pelayan Web ditetapkan untuk mempunyai kebenaran menulis. Kemudian dalam fail konfigurasi PHP, tetapkan nilai arahan error_log kepada laluan mutlak fail log ralat.

Anda perlu membuat pengubahsuaian berikut pada arahan konfigurasi dalam php.ini:

error_reporting  =  E_ALL                             // 将会向PHP报告发生的每个错误  
display_errors = Off                                     // 不显示满足上条 指令所定义规则的所有错误报告  
log_errors = On                                           // 决定日志语句记录的位置  
log_errors_max_len = 1024                         // 设置每个日志项的最大长度  
error_log = E:/php_log/php_error.log         // 指定产生的错误报告写入的日志文件位置
Salin selepas log masuk

Selepas fail konfigurasi PHP ditetapkan seperti di atas, mulakan semula pelayan web. Dengan cara ini, apabila melaksanakan sebarang fail skrip PHP, semua laporan ralat yang dijana tidak akan dipaparkan dalam penyemak imbas, tetapi akan direkodkan dalam log ralat E:/php_log/php_error.log yang ditentukan oleh anda.

Selain itu, bukan sahaja semua ralat yang memenuhi peraturan yang ditakrifkan oleh error_reporting boleh dilog, tetapi fungsi error_log() dalam PHP juga boleh digunakan untuk menghantar maklumat ralat ke log ralat pelayan web atau ke sebuah fail.

Prototaip fungsi error_log() adalah seperti berikut:

error_log ( string $message [, int $message_type = 0 [, string $destination [, string $extra_headers ]]] ) : bool
Salin selepas log masuk

Penerangan parameter adalah seperti berikut:

  • $message: mesej ralat yang perlu direkodkan;
  • $message_type: Tetapkan di mana ralat harus dihantar. Jenis mesej yang mungkin adalah seperti berikut:
    • 0: (Nilai lalai) Hantar $mesej ke log sistem PHP, menggunakan mekanisme pengelogan sistem pengendalian atau fail, bergantung pada error_log yang ditetapkan dalam fail konfigurasi ;
    • 1: Hantar $mesej ke alamat e-mel yang ditetapkan oleh parameter $destination. Parameter keempat $extra_headers hanya akan digunakan dalam jenis ini; Aksara $message tidak akan dianggap sebagai baris baharu secara lalai
    • 4: Hantar $message terus kepada pengendali log SAPI.
    • $destination: Destination, iaitu destinasi yang mesej ralat dihantar. Maksudnya diterangkan di atas dan ditentukan oleh parameter $message_type; Digunakan apabila $message_type ditetapkan kepada 1. Jenis mesej ini menggunakan fungsi terbina dalam yang sama mel().
  • Contoh:
  • Ambil log masuk ke pangkalan data Mysql sebagai contoh dan log mesej ralat apabila log masuk gagal.
Menjalankan kod di atas akan menghasilkan fail log ralat yang sepadan dalam direktori yang ditetapkan oleh item error_log dalam fail konfigurasi php.ini Kandungan fail adalah seperti berikut:

Pembelajaran yang disyorkan: "

Tutorial Video PHP
<?php
    $link = mysqli_connect("127.0.0.1", "my_user", "my_password", "my_db");
    if (!$link) {
        error_log(&#39;Mysql 数据库连接失败!&#39;,0);
        exit();
    }
?>
Salin selepas log masuk
"

Atas ialah kandungan terperinci Apakah kegunaan log ralat php?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Label berkaitan:
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