Saya mencoba mencari tahu ke mana letak kesalahan PHP pada pengaturan saya. Aku sedang menjalankan nginx sebagai reverse proxy untuk PHP-FPM, tapi aku tidak melihat berbagai E_NOTICE atau E_WARNING pesan aplikasi saya memproduksi. Satu-satunya alasan saya tahu mereka sedang terjadi adalah respons yang gagal dan jejak tumpukan NewRelic catching.
Inilah konfigurasi logging:
nginx.conf
proxy_intercept_errors on;
fastcgi_intercept_errors on;
php.ini
error_reporting = E_ALL
display_errors = Off
display_startup_errors = Off
log_errors = On
log_errors_max_len = 1024
ignore_repeated_errors = Off
ignore_repeated_source = Off
report_memleaks = On
track_errors = On
error_log = syslog
php-fpm.conf
[global]
error_log = /var/log/php-fpm/fpm-error.log
[www]
access.log = /var/log/php-fpm/access.log
access.format = "%t \"%m %r%Q%q\" %s %{mili}dms %{kilo}Mkb %C%%"
catch_workers_output = yes
php_flag[display_errors] = on
php_admin_flag[log_errors] = true
rsyslog.conf
:syslogtag, contains, "php" /var/log/php-fpm/error.log
Saya telah mengkonfigurasi PHP untuk masuk ke syslog, namun FPM tidak memiliki fungsi syslog sehingga ia masuk ke file. Saya tidak benar-benar peduli di mana kesalahan itu berakhir, hanya saja mereka berakhir di suatu tempat.
Adakah petunjuk tentang bagaimana saya bisa membuatnya bekerja?
Jawaban:
Menurut file konfigurasi, FPM mendukung pengiriman kesalahan ke syslog.
sumber
Anda yakin dengan asumsi Anda tentang rsyslog.conf? Yaitu, apakah Anda yakin semua pesan syslog tersebut ditandai dengan huruf kecil "php"?
Coba atur syslog.facility ke sesuatu seperti local2 (atau local1, atau local7) dan ganti rsyslog.conf Anda dengan config-line:
sumber
Saat Anda menggunakan php-fpm, sepertinya
php.ini
pengaturan itu menggantikan .Logging kemungkinan besar perlu dikonfigurasi di
.../www.conf
.Saya menghapus komentar baris-baris ini untuk mengambil log PHP.
Pengguna dan grup server web juga dapat ditemukan dalam file ini di bawah baris yang mirip dengan ini (mungkin berbeda antara konfigurasi soket unix & proxy).
Maka itu hanya masalah membuat file dan mengkonfigurasi dengan benar.
Saya percaya level log masih digunakan dari
php-fpm.conf
jadi Anda mungkin juga perlu memeriksa ini.sumber