2014-04-10 16 views
5

Có cách nào để thông báo cho HHVM về các cảnh báo và lỗi Hacklang trong trình duyệt không? Một cái gì đó như PHP không với kích hoạt display_errors, display_startup_errorserror_reporting thiết lập để E_ALLHHVM + Hacklang: lỗi/cảnh báo đầu ra vào trình duyệt

HHVM phiên bản:

$ php -v 

HipHop VM 3.1.0-dev+2014.04.09 (rel) 
Compiler: heads/master-0-g4fc811c64c23a3686f66a2bea80ba47f3eaf9f3d 
Repo schema: 79197c935790c0b9c9cb13566c3e727ace368117 

Tôi đã thử cấu hình sau:

$ cat /etc/hhvm/php.ini 
; php options 
display_startup_errors = On 
error_reporting = E_ALL 
display_errors = On 

; hhvm specific 
hhvm.log.level = Warning 
hhvm.log.always_log_unhandled_exceptions = true 
hhvm.log.runtime_error_reporting_level = 8191 
hhvm.mysql.typed_results = false 

Và:

$ cat /etc/hhvm/server.ini 

; php options 
pid = /var/run/hhvm/pid 

; hhvm specific 
hhvm.server.port = 9000 
hhvm.server.type = fastcgi 
hhvm.server.default_document = index.php 
hhvm.log.level = Warning 
hhvm.log.always_log_unhandled_exceptions = true 
hhvm.log.runtime_error_reporting_level = 8191 
hhvm.log.use_log_file = true 
hhvm.log.file = /var/log/hhvm/error.log 
hhvm.repo.central.path = /var/run/hhvm/hhvm.hhbc 
hhvm.mysql.typed_results = false 
hhvm.debug.full_backtrace = true 
hhvm.debug.server_stack_trace = true 
hhvm.debug.server_error_message = true 
hhvm.debug.translate_source = true 
+0

Tôi nghĩ 'fastcgi' định nghĩa, chỉ có giá trị xuất chuẩn được hiển thị trên trang. stderr được ghi trực tiếp vào error-logfile. – PKeidel

Trả lời

3

tl; dr: Bạn có thể 't.

Điều cần ghi nhớ ở đây là trình đánh máy thực hiện phân tích tĩnh mã của bạn trong khi các lỗi PHP bạn nói về hiển thị khi chạy. Nếu đây là C++, bạn có thể so sánh các lỗi đánh máy với lỗi trong quá trình biên dịch - vì vậy, Hack cho bạn biết những điều sai trái trước khi mã chạy.

Bí quyết là sử dụng một trong hai vim or emacs plugins mà cảnh báo cho bạn về những lỗi như bạn lưu các tập tin, hoặc sử dụng hh_client từ nhà ga, hoặc xây dựng một plugin cho IDE yêu thích của bạn (bạn có thể gửi yêu cầu kéo!). hh_client --json cho phép dễ dàng phân tích cú pháp đầu ra nếu bạn muốn xây dựng một plugin cho Sublime Text, hoặc Eclipse hoặc bất cứ thứ gì bạn muốn.

Lưu ý rằng một số lỗi là lỗi thời gian chạy, trong khi một số lỗi thì không. Các hàm arg cũng như các kiểu trả về sẽ ném các ngoại lệ vào thời gian chạy cho ví dụ HHVM mới nhất. Vấn đề ở đây là bạn chỉ thấy các lỗi đó khi bạn nhấn một đường dẫn mã nhất định. Vẻ đẹp của Hack là nó có lỗi cho tất cả các vấn đề trong mã của bạn, ngay cả khi đó là một mã-đường dẫn bạn có thể không kiểm tra khi chạy.

+1

khi facebook IDE mà tôi thấy trong bản trình bày từ Ngày Hack sẽ có sẵn? –

+3

@ b.b3rn4rd Tôi không làm việc trên các nhóm Hack/HHVM, nhưng theo như tôi biết họ đang nhắm đến cuối mùa hè – Claudiu

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