2011-07-16 55 views
9

Khi phát triển các ứng dụng web, ở cấp độ khách hàng, tôi sử dụng console.log và console.error để giúp tôi xem điều gì đang xảy ra. Tôi đang tìm một tính năng tương tự ở cấp độ serveride để giúp tôi xem điều gì đang diễn ra. Tôi đã thấy error_log ghi lỗi vào tệp nhật ký của máy chủ và muốn biết liệu có chức năng tương tự để ghi vào nhật ký truy cập máy chủ không?console.log, console.error cho PHP?

Hoặc tôi đang đi về điều này một cách sai lầm, tôi có nghĩa vụ phải sử dụng một cái gì đó hoàn toàn khác nhau để xem những gì đang xảy ra trong nền cho phát triển serverside?

+2

Tại sao bạn muốn ghi vào bản ghi truy cập thay vì các bản ghi lỗi? Nhật ký truy cập được điền tự động. –

+0

Để phát triển khách hàng, tôi hiển thị các giá trị biến được sử dụng trong console.log. Tôi muốn xem nếu một tính năng như vậy tồn tại trong php, nơi tôi có thể thấy các giá trị biến dễ dàng tương tự như cách tôi sử dụng console.log để phát triển clientside. Ngoài ra, error_log cũng được điền tự động. – nami

Trả lời

9

Nó không hoàn toàn giống nhau, nhưng bạn có thể muốn điều tra trình gỡ lỗi PHP, XDebug.

Nó có một số tính năng gỡ lỗi rất mạnh mẽ cho PHP. Ví dụ, bạn có thể bước qua một dòng chương trình PHP theo dòng và xem nó đi đâu, và biến nào được đặt ở bất kỳ điểm nào trong chương trình, v.v.

Nó hoạt động tốt nhất khi được sử dụng cùng với IDE chẳng hạn như Netbeans hoặc Eclipse, vì bạn có thể sử dụng cùng một giao diện để gỡ lỗi các chương trình của bạn khi bạn sử dụng để chỉnh sửa mã của mình.

Nó cũng có thể tạo tệp theo dõi, có thể được tải vào chương trình được gọi là WinCacheGrind, cho phép bạn theo dõi chương trình sau khi chương trình chạy, để xem, chẳng hạn, chức năng nào khiến nó chạy chậm.

3

Là một tùy chọn mà bạn cũng có thể muốn nhìn vào syslog()

1

Tôi thứ hai Spudley's answer về việc sử dụng XDebug hoặc Zend Debugger (thiết lập tương tự và hoạt động để XDebug). Tuy nhiên, để trả lời trực tiếp câu hỏi của bạn, bạn có thể sử dụng trigger_error kết hợp với E_USER_WARNING hoặc E_USER_NOTICE và mức lỗi error_reporting thích hợp. Bạn cũng có thể sử dụng syslog làm ssapkota đề xuất.

12

này đã làm việc cho tôi: http://www.paulund.co.uk/output-php-data-in-browser-console

/** 
* Send debug code to the Javascript console 
*/ 
function debug_to_console($data) { 
    if(is_array($data) || is_object($data)) { 
    echo("<script>console.log('PHP: ".json_encode($data)."');</script>"); 
    } else { 
    echo("<script>console.log('PHP: $data');</script>"); 
    } 
} 
Các vấn đề liên quan