2011-12-29 37 views
7

Có một hàm PHP hoặc một số cách khác để lấy nhật ký lỗi PHP dưới dạng chuỗi không?Nhận nhật ký lỗi PHP từ PHP

Tôi cần điều này vì tôi không thể truy cập nhật ký lỗi của trang web mà tôi đang chạy trên máy chủ của người khác. - Anh ấy đề nghị gửi email cho tôi nhật ký lỗi nhưng điều đó không thuận tiện.

Có cách nào tôi có thể xuất nhật ký lỗi vào trang php không?


CẬP NHẬT

bây giờ tôi nhận ra rằng xem log lỗi toàn bộ máy chủ là không thực sự sẽ xảy ra đối với tôi, tuy nhiên, tôi biết bạn có thể làm điều gì đó như thế này để gửi email cho một hướng dẫn error_log cuộc gọi đến cho mình:

error_log('A really bad error',3,'[email protected]'); 

Bạn có thể định cấu hình trang để gửi email cho bạn thay vì hiển thị chúng không?

+0

Không phải là một giải pháp rất tốt ..., nhưng khi bạn biết đường dẫn đến tệp nhật ký lỗi, bạn có thể lấy nội dung của nó bằng 'file_get_contents'. – evotopid

+0

Xem [error_log] (http://www.php.net/manual/en/errorfunc.configuration.php#ini.error-log) cài đặt php.ini. – mario

Trả lời

8

Trên máy chủ được bảo mật kém, có. Nhưng trên hầu hết các máy chủ có hai người dùng: apache và [you]. Bạn không có quyền truy cập vào nhật ký máy chủ, vì chúng được sở hữu bởi người dùng apache (hoặc bất kỳ máy chủ nào bạn đang sử dụng).

Tuy nhiên, bạn có thể có thể thử nó:

echo file_get_contents('/var/log/httpd/error_log'); 

Lưu ý: đó là vị trí mặc định trên máy chủ apache RedHat-based. Nó có thể là khác nhau

Cập nhậtĐể phản ánh các câu hỏi được cập nhật
Không, bạn không thể xem nhật ký lỗi với error_log - đó là một quá trình một chiều mà được xử lý bởi các máy chủ web. Nó chỉ viết nhật ký, nhưng bạn không thể đọc nó.

Bạn có lẽ có thể hiển thị các lỗi với điều này:

ini_set('display_errors', 'On'); 
error_reporting(E_ALL); 

Bạn thậm chí có thể sử dụng set_error_handler để xử lý tất cả các cảnh báo và thông báo (ví dụ, để mail cho họ). Nhưng đó là tất cả những gì bạn có thể làm.

+0

Xin chào, tôi đang ở trên máy chủ debian - chỉ cần thử điều đó nhưng đã "hoạt động không được phép" –

+0

Sau đó, đó là máy chủ được bảo mật phù hợp ;-) Chỉ cần nhờ người gửi thư cho bạn nhật ký. –

+0

OK, bạn có nghĩ rằng bạn có thể xem câu hỏi được cập nhật của mình không? –

Các vấn đề liên quan