ล็อกไฟล์ Apache และ PHP อยู่ที่ไหน


228

ฉันได้ติดตั้ง Apache, PHP และ MySQL บน Ubuntu 10.10 desktop edition แล้วและมันก็ใช้ได้ดี
ยกเว้นว่าฉันไม่มีเงื่อนงำที่จะค้นหาไฟล์บันทึก Apache หรือ PHP

คำตอบ:


315

/var/log/apache2/error.logโดยค่าเริ่มต้น

สามารถกำหนดค่า/etc/php5/apache2/php.iniนี้ได้


อ๋อ เข้าใจแล้ว. มันแตกต่างกันเล็กน้อยในหน้าต่าง
Stann

1
บันทึก Apache สามารถหมุนได้ดังนั้นคุณอาจต้องการตรวจสอบerror.log.*ไฟล์ทั้งหมด
nuoritoveri

@misterben คุณสามารถช่วยฉันค้นหาเปิดใช้งานบันทึกข้อผิดพลาดเดียวกันสำหรับ centOS 7 ได้หรือไม่ ความคิดใด ๆ
ขวดแดง

unix.stackexchange.com/a/269090/2799มีข้อมูลสำหรับ distros อื่น ๆ
misterben

เกิดอะไรขึ้นถ้าไม่ได้ติดตั้ง apache เพียง php?
mils

67

ตรวจสอบการตั้งค่าเหล่านี้ในphp.ini:

  1. error_reporting = E_ALL | E_STRICT (ตามที่แนะนำสำหรับการพัฒนาใน php.ini)
  2. error_log = /var/log/php_errors.log
  3. จากนั้นสร้างไฟล์บันทึกด้วยตนเอง

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

ตอนนี้คุณสามารถดูข้อผิดพลาด PHP ด้วยวิธีนี้

tail /var/log/php_errors.log

นี่เป็นวิธีแก้ปัญหาที่เหมาะสมสำหรับฉัน


4
จะต้องมีขั้นตอนในการรีสตาร์ท apache เพื่อให้การตั้งค่ามีผล
rbawaskar

ให้มันแน่น:chmod 640 /var/log/php_errors.log
berbt

26

คุณยังสามารถกำหนดไฟล์บันทึกข้อผิดพลาดเฉพาะสำหรับแต่ละ VirtualHost ใน Apache หากคุณมี VirtualHost ที่กำหนดไว้/etc/apache2/sites-available/และเปิดใช้งานใน/etc/apache2/sites-enabled(เปิดใช้งานด้วยsudo a2ensite [your-virtualhost-definition-file]) คุณสามารถเปลี่ยนบันทึกข้อผิดพลาดโดยเพิ่มบรรทัดต่อไปนี้ภายใน VirtualHost config ของคุณ:

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

ซึ่งอาจเป็นประโยชน์หากคุณมี vhost จำนวนมากและต้องการแยกที่ซึ่งรายงานข้อผิดพลาด

นอกจากนี้คุณสามารถดูบันทึกข้อผิดพลาดของคุณสดโดยการออกคำสั่งต่อไปนี้ (ปรับให้เข้ากับไฟล์บันทึกของคุณเองหากแตกต่างจากค่าเริ่มต้น):

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

สิ่งนี้มีประโยชน์อย่างยิ่งเมื่อทำการดีบักสด


มันได้ผล! ถ้าฉันแสดงความคิดเห็นerror_log = syslogใน php.ini
mmv-ru

2

หาก Apache ติดตั้งด้วย Webmin / Virtualmin จะมีโฟลเดอร์แยกต่างหากสำหรับแต่ละ VirtualHost

มันคือ

~/logs

โฟลเดอร์สำหรับผู้ใช้ VirtualHost แต่ละคน

นี่คือสองไฟล์:

~/logs/access_log

และ

~/logs/error_log

ดังนั้นพวกเขาเป็น

/home/onedomain/logs/access_log

/home/onedomain/logs/error_log

/home/anotherdomain/logs/access_log

/home/anotherdomain/logs/error_log

...

เป็นต้น

ในการดูไฟล์บันทึกสำหรับการเข้าสู่ระบบโดเมนเฉพาะในฐานะผู้ใช้ VirtualHost ของชื่อโฮสต์นั้นและเรียกใช้

tail -f ~/logs/error_log

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.