5

HHVM に Hacklang の警告とエラーをブラウザーに出力するように指示する方法はありますか? PHP のような何かが enabledで実行されdisplay_errorsdisplay_startup_errorserror_reporting設定されますE_ALL

HHVM バージョン:

$ php -v

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

私は次の構成を試しました:

$ 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

と :

$ 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
4

1 に答える 1

4

tl;dr: できません。

ここで心に留めておくべきことは、タイプチェッカーがコードの静的分析を行う一方で、あなたが話している PHP エラーが実行時に表示されるということです。これが C++ の場合、Hack タイプチェッカーのエラーとコンパイル ステップ中のエラーを比較できます。つまり、コードが実行される前に、Hack が間違っていることを教えてくれます。

秘訣は、ファイルを保存するときにエラーを警告するvim または emacshh_clientプラグインを使用するか、ターミナルから使用するか、お気に入りの IDE 用のプラグインを構築することです (気軽にプル リクエストを送信してください!)。hh_client --jsonSublime Text、Eclipse、または必要なもののプラグインを構築する場合は、出力を簡単に解析できます。

一部のエラーは実行時エラーですが、一部はそうではないことに注意してください。たとえば、関数の引数と戻り値の型は、最新の HHVM ビルドの実行時に例外をスローする必要があります。問題は、特定のコードパスに到達したときにのみこれらのエラーが表示されることです。Hack の優れた点は、実行時にテストできないコード パスであっても、コード内のすべての問題に対してエラーが発生することです。

于 2014-04-10T19:30:14.837 に答える