問題タブ [hiphop]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
php - HipHop / HHVM でデフォルトでサーバー ルートの index.php を解析する方法 (および「404 ファイルが見つかりません」エラーを修正する方法) は?
再現可能な問題の説明:
HipHop / HHVM を公式の方法 [ 1 ] [ 2 ] でインストールし、組み込みサーバー [ 3 ] を /var/www 経由で実行する場合
サーバーのルートに移動するときに、/var/www の内容に関係なく、カスタムの「404 File Not Found」メッセージをブラウザーにレンダリングします。
ただし、HipHop は、ファイル名が指定されている場合は完全に実行されます。
index.php に phpinfo() を入力すると、フィードバックとして "hiphop" も表示され、この PHP ファイルが HipHop によって正しく解析されたことを示します。
質問:
Nginx や Apache のように、サーバーのルートに移動するときに HipHop のサーバーにデフォルトで index.php (など) を実行させるにはどうすればよいですか?
アップデート:
php - Why does HHVM in daemon mode not start automatically after server reboot?
HipHop/HHVM can be run as a daemon (so it starts automatically after rebooting) with
#xA;When run, it works perfectly (which shows that the configs are okay). But after restarting the machine HHVM is gone and needs to be restarted manually. The above line incl. the configs have been taken out of official tutorials of the HHVM creators. Classic service syntax like sudo service hhvm start also works perfectly, but doesn't survice a machine restart.
What I've done to track down the problem:
The HHVM error log in /var/log/hhvm/error.log logs this line at each restart: Unable to open pid file /var/run/hhvm/pid for write. /etc/hhvm/server.hdf has PidFile = /var/run/hhvm/pid in first line. As this ships with HHVM by default, I don't want to change it. I think the sudo is the problem here. Without sudo HHVM won't run. Chmod 777'ing the pid file and pointing to another empty file don't solve the problem.
Question:
What's the correct way to install HHVM as a daemon ?
facebook - facebook HipHop (hhvm) Ubuntu を削除してデバッグする
GitHub から Ubuntu 13.10 に hhvm をビルドしてインストールすることで hhvm をインストールしましたが、システムから完全にアンインストールしたいと考えています。これに関するドキュメントを取得していません。
以下を使用してサーバーを作成できないため、アンインストールします。
のようなエラーを出しています
警告: InitGoogleLogging() が STDERR E0321 17:09:56.491703 13532 fastcgi-session.cpp:562 に書き込まれる前にログを記録します] FastCGI プロトコル: 無効なレコードを受信しました
ubuntu - HHVM 3.0 / Nginx を使用したハックは、グループ メンバーシップを持っている間、Ubuntu 13.10 で 770 のアクセス許可を持つディレクトリ内のファイルにアクセスできません
HipHop VM バージョン 3.0 を fast-cgi モードで使用するようにnginxをセットアップしました。いくつかの事実:
- Ubuntu 13.10で実行しています
- nginx と hhvm は user として実行されます
www-data。 - ユーザー www-data はグループに属しています
fooers - nginx のサーバー ルートは
/srv/foo、単一のindex.phpファイルを含むディレクトリです。 - のグループ所有権は
/srv/fooグループですfooers /srv/foo権限がに設定されています770
このページを表示しようとすると、404 not found が表示されますが、hhvm または nginx ログにエラーは記録されません。ただし、ページのアクセス許可を変更する775と、期待どおりに完全にサービスが提供されます。/srv/foohhvmnginx
また、www-data ユーザーのデフォルトグループを fooers グループに変更すると、770 パーミッションで動作します。ユーザーの既定のグループではない場合にのみ失敗するようです。
問題は何ですか?!?!? アクセス許可が770の場合、ディレクトリへのグループアクセスを持つユーザーwww-dataとして実行されているhhvm/nginxがアクセスできない理由を知っている人はいますか?
私の正気を確認し、グループと権限が思ったとおりであることを確認するために、サービスを開始した後、次を実行します
予想どおり、hhvm プロセスと nginx プロセスが次のように実行されていwww-dataます。
グループを確認すると、次のように表示されます。
ディレクトリを確認すると、グループと所有者への 100% アクセスを確認できます。
www-data許可されているユーザーとしてファイルの内容を確認すると、次のようになります。
fooers グループに属していないユーザーで上記を試すと、失敗します。
これが私のもの/etc/hhvm/server.iniです:
これが私が見落としたばかげた明白なものではないことを本当に願っています...
Web ルートの nginx ロケーション ブロックは次のとおりです。
php - HHVM ランタイム構成
PHP/HHVM CLI アプリのパフォーマンス チューニングとデバッグを行っていますが、すべての HHVM ランタイム オプションとその意味の詳細なリストを取得するのは非常に困難です。
私はhttps://github.com/facebook/hhvm/wiki/Runtime-optionsをチェックしてきましたが、特にエラー処理セクション(私が最も興味を持っている)に関しては、非常に不完全なようです。
役に立たないスタックオーバーフローの回答をいくつかチェックしました。
すべての HHVM ランタイム オプションの完全なリスト/ガイドはありますか?
nginx - HHVM エラー ログにエラーの日付/時刻を取得する方法
HHVM 3.1.0 と nginx を実行しています。HHVM のエラーを独自のログ ファイルに送信し、nginx を介して返さないように設定しています。私が気づいたことの 1 つは、エラーには、リストされているタイムスタンプまたは日付/時刻のタイプがなく、エラーの文字列だけであるということです。ここにいくつかの例を示します。
これらのエラー ログ エントリをより使いやすくフォーマットする方法はありますか? 少なくとも日付と時刻を表示するには?エラーnginxをログに記録する方法はありphp-fpmますか? php-fpm を使用して my でエラーを取得する例を次に示します/var/log/nginx/error.log(素敵な形式に注意してください)。
参考までに、これが私のHHVM構成ファイルです/etc/hhvm/php.ini
以下は私のnginxロケーションブロックです:
php - リクエスト間の 12 時間後に HHVM レスポンス レイテンシが増加する
CentOS 6.4 システムで nginx 1.6.0 経由で HHVM 3.1.0 を実行しています。
初めてphpファイルをロードするとき(または、待機するように設定したJITウォームアップパスの数に応じて最初の数回)は応答が遅くなりますが、コンパイルが完了すると、後続の要求ははるかに高速になります。
私が気づいたことの 1 つは、リクエストが高速化されると、しばらくは高速のままですが、一晩待ってから再度リクエストを実行しようとすると、HHVM デーモンを再起動するのと同じように、コードがコンパイルされていないかのように動作することです。
HHVM には、特定の数のリクエストまたは時間の後にコードを再コンパイルする「コンパイル ライフタイム」のようなものがありますか? もしそうなら、これを制御する設定方法はありますか?明らかに、実稼働マシンでは、キャッシュがウォームアップされ、すべての PHP コードが JIT コンパイルされた後は、コードが変更されるまで、これらのコストが再び発生することは望ましくありません。
参考までに、HHVM 構成の ini ファイルを含めました。