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
6
A
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");
2
Dường như chức năng php set_error_handler
có thể làm những gì bạn đang tìm kiếm. Trong ví dụ đầu tiên, bạn có thể thêm một số chèn mysql để ghi các lỗi của mình vào cơ sở dữ liệu.
Các vấn đề liên quan
- 1. Cách thêm sản phẩm vào danh sách mà không tải tất cả cơ sở dữ liệu?
- 2. Có phải tất cả các cơ sở dữ liệu không gian địa lý của SQL không cụ thể?
- 3. Đặt lại cơ sở dữ liệu (xóa tất cả), sau đó gieo một cơ sở dữ liệu
- 4. Facebook PHP SDK - Lưu trữ dữ liệu người dùng vào cơ sở dữ liệu MYSql
- 5. Có thể liệt kê tất cả các khoá ngoại trong cơ sở dữ liệu không?
- 6. Lỗi khi tách cơ sở dữ liệu SQLite - cơ sở dữ liệu bị khóa
- 7. Cơ sở dữ liệu xuất MSSQL với dữ liệu
- 8. Chèn vào cơ sở dữ liệu
- 9. Di chuyển cơ sở dữ liệu MySQL phát triển sang cơ sở dữ liệu sản xuất
- 10. sqlite không thể mở tệp cơ sở dữ liệu được mã hóa hoặc không phải là cơ sở dữ liệu?
- 11. Nhận tổng số của tất cả các kích thước cơ sở dữ liệu trong SQL Server
- 12. ColumnDefinition = "TEXT" cho tất cả các loại cơ sở dữ liệu
- 13. Cơ sở dữ liệu MySQL PHP Các ký tự lạ
- 14. Phiên PHP trong Cơ sở dữ liệu
- 15. Kết hợp nhiều cơ sở dữ liệu vào một cơ sở dữ liệu đơn
- 16. cơ sở dữ liệu iPhone gốc, tất cả dữ liệu trên iPhone
- 17. Vô tình xóa tất cả dữ liệu trong cơ sở dữ liệu 'chủ'
- 18. Thả tất cả các chức năng từ cơ sở dữ liệu Postgres
- 19. Có cách nào để sao chép tất cả dữ liệu trong cơ sở dữ liệu mysql sang cơ sở dữ liệu khác không? (phpmyadmin)
- 20. Có phải ghi các tệp nhật ký máy chủ vào cơ sở dữ liệu hay không?
- 21. Cơ sở dữ liệu sản xuất và phát triển?
- 22. Thay thế kết nối cơ sở dữ liệu cho báo cáo và tất cả các subreports
- 23. SQL Server - Tạo Trigger đơn chạy cho TẤT CẢ các bảng trong cơ sở dữ liệu
- 24. Đang cập nhật tất cả các bảng trong một cơ sở dữ liệu MySQL
- 25. Làm thế nào để xóa tất cả các bảng trong cơ sở dữ liệu MySQL?
- 26. Cách xem tất cả các bảng trong cơ sở dữ liệu HSQLDB?
- 27. Tạo tập lệnh của tất cả các chỉ mục trong cơ sở dữ liệu
- 28. Làm thế nào để xóa tất cả các cơ sở dữ liệu trên Postgres?
- 29. Tìm tất cả các đối tượng cơ sở dữ liệu theo tên?
- 30. đếm chính xác của tất cả các hàng trong cơ sở dữ liệu MySQL
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