Bagaimana untuk menulis log ralat ke fail dalam php

青灯夜游
Lepaskan: 2023-03-12 10:12:01
asal
3243 orang telah melayarinya

Cara menulis log ralat ke fail dalam php: 1. Dalam fail konfigurasi php.ini, cari item "error_log" dan konfigurasikan laluan fail log(; ) fungsi untuk menulis log ralat Dalam fail log yang dikonfigurasikan, sintaks ialah "error_log (maklumat ralat untuk direkodkan, 0);".

Bagaimana untuk menulis log ralat ke fail dalam php

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

Jika anda ingin menggunakan yang anda tentukan sendiri fail untuk merekod 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 rekod 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 Bagaimana untuk menulis log ralat ke fail dalam 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