0

ファイル内の次の内容から始めます。

<?php phpinfo();

以下を出力します。

HHVM Version 3.12.1
...etc...

ファイルを次のように変更します。

<?hh phpinfo();

サーバー エラー 500 応答が返された後、/var/log/hhvm/error.log で hhvm ログを確認します。

Fatal error: /path/to/my/file.php appears to be a Hack file, but you do not appear
to be running the Hack typechecker. See the documentation at 
http://docs.hhvm.com/hack/typechecker/setup for information on getting it running.
You can also set `-d hhvm.hack.lang.look_for_typechecker=0` to disable this check
(not recommended).

エラー メッセージに示されているドキュメントへのリンクをクリックすると、タイプチェッカーが既にインストールされていることを前提としたページに移動します。ただし、タイプチェッカーをインストールするためのリンクが提供されます。そのリンクをクリックすると、次のことがわかります。

There are two ways to get the typechecker: automatically when you install HHVM or
by compiling it.

ああ、でも HHVM をインストールしたので、上記の最初の出力が得られました。

HHVM Version 3.12.1
...etc...

さらに、ドキュメントには次のように記載されています。

The typechecker client is generally installed at /usr/bin/hh_client while the
typechecker server is generally installed at /usr/bin/hh_server.

これは、$ ls -la /usr/bin/hh_client /usr/bin/hh_serverを実行すると表示されるものです

-rwxr-xr-x 1 root root 3689005 Feb 29 22:07 /usr/bin/hh_client
-rwxr-xr-x 1 root root 3876085 Feb 29 22:07 /usr/bin/hh_server

すべての表示から、タイプチェッカーはインストールされているように見えます!

Ubuntu 14.04にインストールした方法は次のとおりです。

sudo apt-key adv --recv-keys --keyserver hkp://keyserver.ubuntu.com:80 0x5a16e7281be7a449
sudo add-apt-repository "deb http://dl.hhvm.com/ubuntu $(lsb_release -sc) main"
sudo apt-get update
sudo apt-get install hhvm
sudo update-rc.d hhvm defaults
sudo /usr/share/hhvm/install_fastcgi.sh

/etc/hhvm/server.ini の内部には、次のものがあります。

;hhvm.server.port = 9000
hhvm.server.file_socket=/var/run/hhvm/hhvm.sock

すべての構成で以下が適切に行われていることを確認しました。

fastcgi_pass unix:/var/run/hhvm/hhvm.sock;

すべてのサーバーを再起動しました。

Ubuntu 14.04 を実行している 2 つの異なるシステム (Ubuntu 14.04 の新規最小インストールを含む) でこのプロセス全体を実行しましたが、結果は同じでした。

4

1 に答える 1

4

問題は、型チェッカーがインストールされていないことではなく、型チェック用にコードを設定していないことです。.hhconfigエラーが表示されるドキュメントに従って、コード ベースのルートにファイルを作成する必要があります。

于 2016-03-17T19:47:16.337 に答える