问题标签 [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.

0 投票
2 回答
1599 浏览

php - 如何在 HipHop / HHVM 中默认解析服务器根目录中的 index.php(并修复“404 File Not Found”错误)?

可重现的问题描述:

通过官方方式[ 1 ][ 2 ]安装HipHop/HHVM,然后通过/var/www运行内置服务器[ 3 ]

当移动到服务器的根目录时,无论 /var/www 的内容如何,​​它都会向浏览器呈现自定义的“404 File Not Found”消息:

但是,当给出文件名时,HipHop 将完美运行,例如

用 phpinfo() 填充 index.php 也会显示“hiphop”作为反馈,表明这个 PHP 文件被 HipHop 正确解析。

问题:

导航到服务器的根目录时,如何让 HipHop 的服务器默认运行 index.php (等),就像 Nginx 和 Apache 一样?

更新:

似乎是一个常见问题:[ 4 ],[ 5 ]

0 投票
1 回答
10205 浏览

php - 为什么服务器重启后处于守护模式的 HHVM 不会自动启动?

HipHop/HHVM 可以作为守护进程运行(因此它会在重新启动后自动启动)

运行时,它运行良好(这表明配置没问题)。但是重启机器后HHVM就没了,需要手动重启。上述行包括。这些配置已从 HHVM 创建者的官方教程中删除。类似的经典服务语法sudo service hhvm start也可以完美运行,但无法在机器重新启动时使用。

我为追查问题所做的工作:

/var/log/hhvm/error.log 中的 HHVM 错误日志在每次重新启动时记录此行:Unable to open pid file /var/run/hhvm/pid for write. /etc/hhvm/server.hdfPidFile = /var/run/hhvm/pid第一行。由于它默认附带 HHVM,因此我不想更改它。我认为sudo是这里的问题。没有 sudo HHVM 将无法运行。Chmod 777'ing pid 文件并指向另一个空文件并不能解决问题。

问题:

将 HHVM 安装为守护程序的正确方法是什么?

0 投票
2 回答
4435 浏览

facebook - 删除 facebook HipHop (hhvm) Ubuntu 并调试它

我已经通过在 GitHub 的 Ubuntu 13.10 中使用构建和安装 hhvm 来安装 hhvm,现在我想从我的系统中完全卸载它。我没有收到任何有关此的文件。

我正在卸载,因为我无法使用以下方式创建服务器:

它给出了类似的错误

警告:在将 InitGoogleLogging() 写入 STDERR E0321 17:09:56.491703 13532 fastcgi-session.cpp:562] FastCGI 协议之前记录:收到无效记录

0 投票
1 回答
1223 浏览

php - HHVM 和/或 PHP 执行引擎到底是什么?

我一直在阅读有关 Facebook 的 Hack 的信息,这使我阅读了有关 HipHop 虚拟机的信息。我想更好地理解这一点,但找不到明确的定义。维基百科将其定义为:HipHop for PHP(简称 HipHop)描述了 Facebook 创建的一系列 PHP 执行引擎和改进。我不明白 PHP 引擎是什么...

所以我想我的问题是:“PHP 执行引擎”到底是什么?以及究竟如何使 PHP 应用程序受益?

谢谢!

0 投票
2 回答
3617 浏览

ubuntu - HHVM 3.0 / Hack with Nginx 无法在 Ubuntu 13.10 上访问具有 770 权限的目录中的文件,同时具有组成员身份

我已将nginx设置为在 fast-cgi 模式下使用 HipHop VM 3.0 版。一些事实:

  1. 我在 Ubuntu 13.10 上运行
  2. nginx 和 hhvm 以用户身份运行www-data
  3. 用户 www-data 在组中fooers
  4. nginx 的服务器根目录是一个/srv/foo包含单个index.php文件的目录
  5. 组的所有权/srv/foo是组fooers
  6. /srv/foo权限设置为770

当我尝试查看此页面时,我得到一个 404 未找到,但在 hhvm 或 nginx 日志中都没有记录错误。但是,如果我将权限更改为页面775上的权限,则会完全按预期提供服务。/srv/foohhvmnginx

此外,如果我将 www-data 用户的默认组更改为 fooers 组,它的权限为 770。只有当它不是用户的默认组时,它似乎才会失败。

什么问题?!?!?有谁知道为什么当权限为 770 时,hhvm/nginx 以用户 www-data 的身份运行并具有对目录的组访问权限,但无法访问?

为了确认我的理智并确保我的组和权限与我认为的一样,在启动服务后,我运行

正如预期的那样,我看到了一个 hhvm 进程和运行的 nginx 进程www-data

当我检查我看到的组时:

当我检查目录时,我可以确认对组和所有者的 100% 访问:

如果我以www-data允许的用户身份检查文件的内容:

如果我对不在 fooers 组中的用户尝试上述操作,则会失败。

这是我的/etc/hhvm/server.ini

我真的希望这不是我忽略的愚蠢和明显的事情......

这是我的 Web 根目录的 nginx 位置块:

0 投票
1 回答
7178 浏览

hiphop - 通过带有 nginx 的套接字为 HHVM 3.0 配置 ini 文件

我能够启动 HipHop VM 以使用 unix 套接字。我可以通过以下方式完成此操作:

但是,我无法在任何地方找到有关如何在ini我为我的配置指定的文件中设置它的参考。要使用 TCP 端口,server.ini 中的行是:

我都试过了

两者都失败了。任何人都知道文件设置或在哪里可以找到这些设置的参考?

0 投票
0 回答
1418 浏览

nginx - 未找到 CSS 链接(Laravel 4、Nginx、HipHop VM)

我在这里找到了很多关于这个问题的答案,但它们似乎对我不起作用。我正在尝试在刀片模板中链接我的 CSS 和 JS,但它们不起作用。

我用了:

产生:

似乎它应该进入公共文件夹,但 CSS 没有出现。我正在使用 nginx 并将根设置为公共。该站点和所有路线都可以正常工作,但css是问题所在。

我不确定这是 Nginx 的事情、HipHop 的事情还是代码的事情。

这是我的 NGinx 配置文件:

0 投票
1 回答
154 浏览

php - HHVM 运行时配置

我正在对 PHP/HHVM CLI 应用程序进行性能调整和调试,我发现很难获得所有 HHVM 运行时选项及其含义的详细列表。

我一直在检查https://github.com/facebook/hhvm/wiki/Runtime-options但它似乎非常不完整,特别是关于错误处理部分(我最感兴趣)。

我已经检查了几个 Stack Overflow 答案,但无济于事。

是否有所有 HHVM 运行时选项的完整列表/指南?

0 投票
1 回答
2745 浏览

nginx - 如何在 HHVM 错误日志中获取错误的日期/时间

我正在运行 HHVM 3.1.0 和 nginx。我设置将 HHVM 中的错误发送到它自己的日志文件,而不是通过 nginx 返回它们。我注意到的一件事是错误缺少列出的任何类型的时间戳或日期/时间,只是错误的字符串,这里有一些示例:

有没有办法更好地格式化这些错误日志条目以使其更有用?至少要显示日期和时间?有没有办法将错误传回nginx以按照这种方式记录它们php-fpm?这是一个使用 php-fpm 并在我的/var/log/nginx/error.log(注意漂亮的格式)中出现错误的示例:

作为参考,这是我的 HHVM 配置文件/etc/hhvm/php.ini

下面是我的 nginx 位置块:

0 投票
1 回答
270 浏览

php - 请求之间的 12 小时后 HHVM 响应延迟增加

我在 CentOS 6.4 系统上通过 nginx 1.6.0 运行 HHVM 3.1.0。

我知道当您第一次加载 php 文件时(或前几次取决于您配置等待的 JIT 预热通道的数量)响应很慢,但是一旦发生编译,后续请求会快得多。

我注意到的一件事是,一旦请求加速,它们会保持快速一段时间,但如果我等待一夜并再次尝试运行请求,它的执行就像代码从未编译过一样——就像重新启动 HHVM 守护程序一样。

HHVM 是否有类似“编译生命周期”的东西,可以在一定数量的请求或时间后重新编译代码?如果是这样,是否有任何设置方法来控制它?显然,在生产机器上,一旦缓存预热并且所有 PHP 代码都经过 JIT 编译,在代码更改之前,您不希望再次产生这些成本。

作为参考,我已经包含了我的 HHVM 配置 ini 文件: