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.

Jawaban:


315

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

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


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.


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.


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

Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.