2014-04-10 13 views
5

HHVM'ye Hacklang uyarılarını ve hatalarını tarayıcıya vermesini söyleyen bir yöntem var mı?HHVM + Hacklang: hata/uyarılar tarayıcıya çıktı

$ 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 

Ve:

$ 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 
aşağıdaki yapılandırma denedim

$ php -v 

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

: PHP gibi bir şey display_startup_errors ve error_reporting seti

HHVM versiyonu E_ALL için, display_errors etkin gelmez ile

+0

Sanırım "fastcgi", sayfada yalnızca stdout'un gösterildiğini tanımlar. stderr doğrudan hata-log dosyasına yazılır. – PKeidel

cevap

3

tl; dr: 'T.

Burada akılda tutulması gereken bir şey, typechecker'ın kodunuzun statik bir analizini yapmasıdır. Bu C++ ise, Hack typechecker hatalarını derleme adımı sırasında hatalarla karşılaştırabilirsiniz. Böylece Hack, kodun yayınlanmasından önce yanlış olan şeyleri size söyler.

hüner kullanmaktır ya dosyayı kaydetmek veya terminalden hh_client kullanmak veya favori IDE için bir eklenti kurmak gibi hata uyarmak vim or emacs eklentileri (çekme istekleri göndermek için çekinmeyin!). hh_client --json, Sublime Text veya Eclipse veya istediğiniz gibi bir eklenti oluşturmak istiyorsanız, ayrıştırılması kolay bir çıktı verir.

Bazı hataların çalışma zamanı hataları olduğunu, bazılarının ise çalışmadığını unutmayın. İşlev türlerinin yanı sıra geri dönüş türleri, örneğin en son HHVM yapısı için çalışma zamanında istisnalar atmalıdır. Sorun şu ki, sadece belirli bir kod yoluna vurduğunuzda bu hataları görüyorsunuz. Hack'in güzelliği, çalışma zamanında test edemeyeceğiniz bir kod yolu olsa bile, kodunuzdaki tüm sorunlar için hata yapmasıdır.

+1

, Hack Day’den sunumda gördüğüm facebook IDE’si mevcut olacak mı? –

+3

@ b.b3rn4rd Hack/HHVM takımlarında çalışmıyorum ama bildiğim kadarıyla yaz sonuna gelmeyi amaçlıyorlar – Claudiu

İlgili konular