問題タブ [hhvm]
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.
symfony - Doctrine\DBAL\Driver\PDOConnection::prepare() の Symfony2 と HHVM 宣言は互換性がなければなりません
HHVM マシンで symfony2 プロジェクトをセットアップしようとしていますが、
hhvm チュートリアルで説明されているように、HHVM は FastCGI で実行されているため、Debian の apache2 サーバーの背後で実行されています。
すべてを作成しましたが、アプリケーションを実行しようとすると、次のエラーが発生します。
これはHHVMのPDOと関係があると考えていますが、class_exists('PDO')を使用してテストしたところ、PDOが有効になっていることがわかりました
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 ?
php - Apache と HHVM の間でプロキシ経由で渡されると、_POST パラメータが破損する
私は Apache/HHVM/Symfony がうまく連携できるように取り組んできました。ほとんどすべてが機能しているように見えますが、ファイルのアップロード時に問題が発生しました。結果の _POST は、予想される配列ではなく単一のエントリです。
プロキシ設定は次のとおりです。
ProxyPassMatch ^/(.*\.php(/.*)?)$ fcgi://127.0.0.1:9000/path/to/root/directory/$1
PHP5-FPM (_POSTパラメーターを壊さない) を使用する場合、プロキシ設定は次のとおりです。
SetEnvIf Request_URI . proxy-fcgi-pathinfo=1
いろいろ試行錯誤して設定が違います。プロキシ設定が PHP5-FPM のようなものである場合、HHVM は 404 ファイルが見つからないと言い続けます。ファイルがなくてもフォームは正常に機能するので、フォーム内の HHVM のファイルの処理に関係しているのではないかと疑っていますが、それについては何も見つかりません。
プロキシ設定を変更する必要がありますか? それとも、HHVM でファイルをアップロードするために何か特別なものが必要ですか?
スタックは Symfony 1.4、HHVM 2.4、Ubuntu 12.04 上の Apache 2.4 です。
php - Silex と HHVM を使用する場合の間違った要求 basePath
/api/v1/fooSilexを呼び出すと、/api/v1/fooの代わりに一致するルートが検索されます/foo。どうすれば修正できますか?
私のHHVM-Config:
laravel-4 - HHVM によるシステム変数へのアクセス
問題: 通常、デフォルトの php セットアップに公開されていない環境変数に HHVM を介してアクセスしたい
コンテキスト: Docker コンテナーで実行されている Laravel4 プロジェクトに動的構成オプションを提供するために、いくつかのシステム変数に依存しています。起動時にランダムな IP アドレスを公開する別の Docker コンテナーで実行されている mysql DB に接続したいと考えています。この IP アドレスは、Docker のオプションを使用して Laravel4 コンテナーに渡され--link、Laravel-4 コンテナーでシステム変数として自動的に公開されます。
以前のアプローチ: php-fpm を使用する場合、Docker によって作成されたシステム変数をwww.confファイルsoを使用して php に公開し、getenv('VAR_NAME') を使用して php コードで変数を取得することができました。
ただし、HHVM では、「非標準」環境変数にアクセスする方法がわかりません。www.conf私が見つけることができるものに相当するものはないようです。誰もこれを試みたことがありますか?HHVM を使用して PHP の外部にあるシステム変数にアクセスすることは可能ですか? HHVM の構成に固有のものはありますか?ドキュメントで見つけることができませんか?
追加情報:私はここで Nginx の背後にいます。私の場合、 fastcgi-param ディレクティブが機能するとは思いませんが、間違っているだけかもしれません。fastcgi-params を使用して私がやろうとしていることを誰かが達成した場合、私はそのアプローチでも問題ありません。
php - 大雑把なベンチマークを理解するのに助けが必要: 通常の PHP vs HHVM vs Zephir
単純な階乗関数を使用してこのテストを実行しました ( http://avelino.xxx/2014/03/golang-c-and-python-the-benchmark-timeからロジックを借用)
通常の PHP コード
PHP を使用した Zephir
ゼファーコード
次の方法で time コマンドを使用して、これらのスニペットを実行しました。
通常のPHP
結果
PHP を使用した Zephir クラス
結果
HHVM
結果
質問:
上記の結果からわかるように、通常の PHP コードは、コンパイル済みの Zephyr クラスを PHP 拡張機能として使用するコードよりもパフォーマンスが優れているようです。これが私を混乱させたものです。
特に両方が同じロジックを採用している場合、スクリプト化されたコードはコンパイルされたコードよりもどのように高速になるのでしょうか? ここで何かが欠けていると思います。誰かがこれを理解するのを手伝ってくれたらありがたいです。
編集: 他の人が Zephir で同様の問題に直面しているようです: Zephir 2x 遅い
php - 大規模なデータ セットで FastCGI HHVM がハングするのはなぜですか?
PHP、HHVM、および Zephir の CLI テストを含む小さなベンチマーク スイートを作成しました。現在、PHP、HHVM、および Zephir 用の FastCGI テストを追加しようとしています。文脈については、これに付随するために私が最初に書いた記事を参照してください。
コードは、GitHub の fcgi ブランチで入手できます。
基本的に、HHVM 拡張機能、PHP、および同じマンデルブロー セット生成コードの Hack バージョンを作成しました ( fcgi-hhvm-*GitHub プロジェクトを参照)。それらのそれぞれについてsetup.sh、HHVM FastCGI サーバーをセットアップ () し、それに対していくつかの要求を行ってウォームアップし、ベンチマークを行いました。FastCGI リクエストは C++ FastCGI CLI クライアントによって処理され、nginx ではなく、ベンチマークでのフットプリントを可能な限り最小限に抑えます。
100x100 および 200x200 のマンデルブロ セットでは問題なく動作しますが、1,000 まで増加するとすぐに、PHP を実行している HHVM の反復の 1 つ、Hack、または HHVM 拡張機能を介してランダムにハングします。
残念ながら、ログにも何も書き込まれず、黙ってハングします。ジョブを強制終了し、サーバーを停止して再起動せずに再実行しようとすると、再びハングします。したがって、サーバーを障害状態のままにしますが、サーバーがクラッシュしたり停止したりすることはありません。
いくつかの設定オプションを変更してみました - 私のプロジェクトの関連する問題を参照してください: https://github.com/treffynnon/Benchmark-PHP-HHVM-Zephir/issues/7
微調整する必要がある設定があるかどうか、またはこの問題を引き起こしている可能性のある問題があるかどうか、誰かが知っていますか?
ちなみに、PHP スクリプトの実行には時間がかかりますが、毎回正常に完了するため、クライアントの実装ではなく、HHVM 自体に問題があると確信しています。同じテストは、CLI の HHVM を介して正常に実行されますが、FastCGI を介しては実行されません。
HHVM バージョン: master@190a12a からビルド