2010-05-26 32 views
6

Có thể làm cho tất cả các lỗi PHP được ghi vào MySQL thay vì tệp error_log chuẩn. Tôi đoán điều này sẽ là có thể nếu tôi đã viết xử lý lỗi của riêng tôi từ đầu nhưng tôi có rất nhiều mã di sản tại chỗ và lý tưởng tôi sẽ chỉ thực hiện 1 thay đổi toàn cầu và đó sẽ là nó. Điều này có thể được thực hiện?Xuất tất cả các lỗi PHP vào cơ sở dữ liệu không phải error_log

+0

Tôi 99% dương tính, bạn có thể không chỉ cần đặt một cái gì đó trong php.ini và đã cho nó xảy ra. Điều đó được cho là viết một trình xử lý lỗi tùy chỉnh sẽ đưa bạn khoảng 5 phút. – Erik

Trả lời

18

Tôi không nghĩ rằng nó có thể được thực hiện mà không xây dựng một xử lý lỗi riêng, nhưng về mặt kỹ thuật, đó là một sự thay đổi toàn cầu bạn đang tìm kiếm.

Modified ví dụ từ manual:

function myErrorHandler($errno, $errstr, $errfile, $errline) 
{ 
    // you'd have to import or set up the connection here 
    mysql_query("INSERT INTO error_log (number, string, file, line) ". 
       "VALUES .....");   

    /* Don't execute PHP internal error handler */ 
    return true; 
} 

sau đó

// set to the user defined error handler 
$old_error_handler = set_error_handler("myErrorHandler"); 
Các vấn đề liên quan