Rumah >pembangunan bahagian belakang >masalah PHP >Bagaimana untuk mengeluarkan fail log ralat php dalam nginx

Bagaimana untuk mengeluarkan fail log ralat php dalam nginx

PHPz
PHPzasal
2023-03-28 13:54:20819semak imbas

Nginx ialah pelayan web sumber terbuka, berprestasi tinggi yang boleh digunakan sebagai pelayan proksi terbalik, pengimbang beban, dsb. Dan PHP ialah bahasa pengaturcaraan yang biasa digunakan untuk membangunkan laman web dinamik dan aplikasi web.

Apabila menggunakan Nginx untuk menggunakan program PHP, anda mungkin menghadapi ralat PHP. Untuk menyelesaikan masalah dan menyelesaikan masalah dengan lebih baik, maklumat ralat PHP perlu direkodkan dalam fail log. Artikel ini akan memperkenalkan cara menggunakan Nginx untuk mengeluarkan fail log ralat PHP untuk memudahkan penyelesaian masalah dan pemprosesan seterusnya.

Mengkonfigurasi Nginx

Untuk mengeluarkan fail log ralat PHP, kami perlu menambah beberapa item konfigurasi pada fail konfigurasi Nginx. Pada sistem CentOS, fail konfigurasi Nginx biasanya terletak di /etc/nginx/nginx.conf. Cari bahagian konfigurasi modul http dalam fail, biasanya di bahagian atas fail, dan tambahkan item konfigurasi berikut:

http {
    ...
    server {
        ...
        location ~ \.php$ {
            fastcgi_pass   127.0.0.1:9000;
            fastcgi_index  index.php;
            fastcgi_param  SCRIPT_FILENAME  $document_root$fastcgi_script_name;
            include        fastcgi_params;

            # error log
            fastcgi_param PHP_VALUE "error_log=/var/log/nginx/php_errors.log";
        }
        ...
    }
    ...
}

lokasi ~ .php$ bermakna ia hanya akan digunakan apabila mengakses URL berakhir dengan .php kepada item konfigurasi ini. fastcgi_pass menentukan alamat dan nombor port pelayan FastCGI PHP. fastcgi_param digunakan untuk menetapkan parameter PHP, di mana SCRIPT_FILENAME menentukan laluan dan nama fail skrip PHP. sertakan fastcgi_params memberitahu Nginx untuk menggunakan parameter FastCGI lalai. Baris terakhir menambah fastcgi_param PHP_VALUE "error_log=/var/log/nginx/php_errors.log";, yang bermaksud merekodkan maklumat ralat PHP ke fail /var/log/nginx/php_errors.log.

Buat fail log

Selepas mengkonfigurasi Nginx, kita perlu mencipta fail log untuk merekodkan maklumat ralat PHP. Andaikan kita ingin menyimpan fail log ke /var/log/nginx/php_errors.log Kita boleh menggunakan arahan berikut untuk mencipta fail:

sudo touch /var/log/nginx/php_errors.log

dan kemudian gunakan arahan berikut untuk mengubah suai. pemilik dan kebenaran fail:

sudo chown nginx:nginx /var/log/nginx/php_errors.log
sudo chmod 644 /var/log/nginx/php_errors.log

Ujian

Apabila menguji, anda boleh mencipta skrip PHP dan ralat berlaku, contohnya:

<?php
echo 1/0;
?>

Simpan skrip ini sebagai test.php , dan kemudian letakkannya dalam direktori akar web Nginx, seperti /usr/share/nginx/html/test.php. Lawati http://localhost/test.php dalam penyemak imbas anda dan anda akan melihat ralat PHP. Kemudian gunakan arahan berikut untuk melihat kandungan fail log:

sudo tail /var/log/nginx/php_errors.log

Jika semuanya normal, anda akan melihat mesej ralat yang serupa dengan yang berikut:

[17-Oct-2021 20:52:42 UTC] PHP Warning:  Division by zero in /usr/share/nginx/html/test.php on line 2

Kesimpulan

Dalam artikel ini, kami memperkenalkan cara untuk mengeluarkan fail log ralat PHP dalam Nginx, yang sangat penting untuk menyelesaikan masalah dan mengendalikan masalah PHP. Untuk mengeluarkan fail log ralat PHP, mula-mula tambah fastcgi_param PHP_VALUE "error_log=/var/log/nginx/php_errors.log" pada fail konfigurasi Nginx, kemudian buat fail log dan uji output.

Atas ialah kandungan terperinci Bagaimana untuk mengeluarkan fail log ralat php dalam nginx. 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