Câu hỏi Tệp nhật ký Apache và PHP ở đâu?


Tôi đã cài đặt Apache, PHP và MySQL trên Ubuntu 10.10 phiên bản dành cho máy tính để bàn và nó hoạt động tốt.
Ngoại trừ tôi không có đầu mối nơi để tìm kiếm các tệp nhật ký Apache hoặc PHP.


206
2017-11-24 18:58


gốc




Các câu trả lời:


Theo mặc định, /var/log/apache2/error.log.

Điều này có thể được cấu hình trong /etc/php5/apache2/php.ini.


283
2017-11-24 19:18



Vâng. hiểu rồi. nó có một chút khác biệt trên cửa sổ. - Stann
Nhật ký Apache có thể được xoay, vì vậy bạn có thể muốn kiểm tra tất cả error.log.* các tập tin - nuoritoveri
@misterben bạn có thể giúp tôi tìm cho phép nhật ký lỗi tương tự cho CentOS 7 không? bất kỳ ý tưởng? - Red Bottle
unix.stackexchange.com/a/269090/2799 có thông tin cho các bản phân phối khác - misterben
những gì nếu apache không được cài đặt, chỉ cần php? - mils


Kiểm tra các cài đặt này trong php.ini:

  1. error_reporting = E_ALL | E_STRICT (như được khuyến nghị cho phát triển trong php.ini)
  2. error_log = /var/log/php_errors.log
  3. Sau đó tạo tệp nhật ký theo cách thủ công

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

Bây giờ bạn có thể xem các lỗi PHP bằng cách này

tail /var/log/php_errors.log

Đây là một giải pháp dễ chịu cho vấn đề này đối với tôi.


59
2017-09-07 23:13



giải pháp từng bước hoàn hảo - Mark Fox
cũng sẽ cần một bước để khởi động lại apache để các cài đặt có hiệu lực - rbawaskar
đây phải là câu trả lời được chấp nhận - Martin Duys
Đây là câu trả lời tốt nhất cho tôi. cảm ơn bạn rất nhiều. - 1rq3fea324wre
Giữ chặt nó: chmod 640 /var/log/php_errors.log - berbt


Bạn cũng có thể xác định một tệp nhật ký lỗi cụ thể cho mỗi VirtualHost trong Apache. Nếu bạn có bất kỳ VirtualHost nào được xác định trong /etc/apache2/sites-available/ và được kích hoạt trong /etc/apache2/sites-enabled (cho phép với sudo a2ensite [your-virtualhost-definition-file]), bạn có thể thay đổi nhật ký lỗi bằng cách thêm dòng sau bên trong cấu hình VirtualHost của bạn:

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

Điều đó có thể hữu ích nếu bạn có nhiều vhost và muốn chia nhỏ nơi họ báo cáo lỗi.

Ngoài ra, bạn có thể xem nhật ký lỗi của mình trực tiếp bằng cách phát lệnh sau (thích ứng với tệp nhật ký của riêng bạn nếu khác với mặc định):

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

Điều này đặc biệt hữu ích khi thực hiện gỡ lỗi trực tiếp.


23
2018-06-03 21:52



Nó hoạt động! Nếu tôi bình luận error_log = syslog trong php.ini - mmv-ru


Nếu Apache được thiết lập với Webmin / Virtualmin thì có một thư mục riêng biệt cho mỗi VirtualHost.

Nó là

~/logs

thư mục cho mỗi người dùng VirtualHost.

Đây là hai tệp:

~/logs/access_log

~/logs/error_log

Vậy họ là

/home/onedomain/logs/access_log

/home/onedomain/logs/error_log

/home/anotherdomain/logs/access_log

/home/anotherdomain/logs/error_log

...

v.v.

Để xem tệp nhật ký cho từng tên miền đăng nhập cụ thể dưới dạng người dùng chủ sở hữu VirtualHost của tên máy chủ đó và chạy

tail -f ~/logs/error_log


2
2018-04-01 12:18