Di mana file log Apache dan PHP?

228

Saya telah menginstal Apache, PHP, dan MySQL di Ubuntu 10.10 edisi desktop, dan itu berfungsi dengan baik.
Kecuali saya tidak tahu ke mana harus mencari file log Apache atau PHP.

Stann
sumber

Jawaban:

315

Secara default /var/log/apache2/error.log,.

Ini dapat dikonfigurasi dalam /etc/php5/apache2/php.ini.

misterben
sumber
Ya. mengerti. itu agak berbeda di windows.
Stann
1
Log Apache dapat diputar, jadi Anda mungkin ingin memeriksa semua error.log.*file
nuoritoveri
@misterben, bisakah Anda membantu saya mengaktifkan log kesalahan yang sama untuk centOS 7? ada ide?
Botol Merah
unix.stackexchange.com/a/269090/2799 memiliki info untuk distro lain
misterben
bagaimana jika apache tidak diinstal, hanya php?
mil
67

Periksa pengaturan ini di php.ini:

  1. error_reporting = E_ALL | E_STRICT (seperti yang disarankan untuk pengembangan di php.ini)
  2. error_log = /var/log/php_errors.log
  3. Kemudian buat file log secara manual

    touch /var/log/php_errors.log
    chown www-data: /var/log/php_errors.log
    chmod +rw /var/log/php_errors.log
    

Sekarang Anda dapat melihat kesalahan PHP dengan cara ini

tail /var/log/php_errors.log

Ini adalah solusi yang menyenangkan untuk masalah ini bagi saya.

Nikolay Chuprina
sumber
4
juga akan memerlukan langkah untuk memulai kembali apache agar pengaturan mulai berlaku
rbawaskar
Tetap kencang:chmod 640 /var/log/php_errors.log
berbt
26

Anda juga dapat menentukan file log kesalahan tertentu untuk setiap VirtualHost di Apache. Jika Anda memiliki VirtualHost yang didefinisikan /etc/apache2/sites-available/dan diaktifkan di /etc/apache2/sites-enabled(aktifkan dengan sudo a2ensite [your-virtualhost-definition-file]), Anda dapat mengubah log kesalahan dengan menambahkan baris berikut di dalam konfigurasi VirtualHost Anda:

ErrorLog ${APACHE_LOG_DIR}/[your-vhost]-error.log

Itu mungkin berguna jika Anda memiliki banyak vhosts dan ingin membagi di mana mereka melaporkan kesalahan.

Anda juga dapat menonton langsung log kesalahan Anda dengan mengeluarkan perintah berikut (sesuaikan dengan file log Anda sendiri jika berbeda dari yang standar):

sudo tail -f /var/log/apache2/error.log

Ini sangat berguna saat melakukan debugging langsung.

ywarnier
sumber
Berhasil! Jika saya berkomentar error_log = syslogdi php.ini
mmv-ru
2

Jika Apache diatur dengan Webmin / Virtualmin ada folder terpisah untuk setiap VirtualHost.

ini

~/logs

folder untuk setiap pengguna VirtualHost.

Ini adalah dua file:

~/logs/access_log

dan

~/logs/error_log

Jadi mereka

/home/onedomain/logs/access_log

/home/onedomain/logs/error_log

/home/anotherdomain/logs/access_log

/home/anotherdomain/logs/error_log

...

dll.

Untuk melihat file log untuk setiap login domain tertentu sebagai pengguna pemilik VirtualHost dari hostname itu dan jalankan

tail -f ~/logs/error_log

Ilyich
sumber