好吧,我刚开始使用hhvm/hack.但是我想向浏览器显示错误,但没有让它工作.
我按照以下方式设置了ini设置
error_reporting(E_ALL);
ini_set('display_errors', '1');
Run Code Online (Sandbox Code Playgroud)
根据var_dump ini_get
的值设置为
string(5) "32767"
string(1) "1"
Run Code Online (Sandbox Code Playgroud)
但是当我这样做的时候
<?hh
error_reporting(E_ALL);
ini_set('display_errors', '1');
throw new InvalidArgumentException('test');
Run Code Online (Sandbox Code Playgroud)
当我通过浏览器访问页面时,我会得到一个白色屏幕和一个500 http头.所以没有解释致命/异常错误.
然而,我会通过终端hhvm index.php
它会显示;
Fatal error: Uncaught exception 'InvalidArgumentException' with message 'test' in /var/www/public/index.php:3
Stack trace:
#0 {main}
Run Code Online (Sandbox Code Playgroud)
所以现在问题.怎么来我在浏览器中没有收到任何消息,但在cli中做什么?第二个是,我如何让它在浏览器中工作以显示消息.
我遇到了这个问题和这个问题.但第一个,好的是相同的,但是没有答案.第二个是关于静态检查的说法.IE给出了一个int等,至少这是我认为他的意思.
我来的其他问题,看起来像我的,但又没有答案.
根据文档,它应该工作,我猜.
阅读更多关于我遇到的文档
尽管display_errors可以在运行时设置(使用函数ini_set()),但如果脚本存在致命错误,则不会产生任何影响.这是因为未执行所需的运行时操作.
所以我认为异常是一个致命的错误,所以我就这么做了 $test = $bar + 1;
这让cli来了
Notice: Undefined variable: bar in /var/www/public/index.php on line 8
int(1)
Run Code Online (Sandbox Code Playgroud)
再次在浏览器中
int(1)
Run Code Online (Sandbox Code Playgroud)
所以我也没有收到通知.
当我重新启动hhvm时,service hhvm restart
我也收到错误消息 …
我在FastCGI模式下运行带有HHVM 3.5.0的NGINX 1.2.1.
正如标题所说,在我执行以下操作后,Chrome会长时间"停止"请求:
我在IE 11,Firefox和Chrome for Android上重现了这个:
我确信,我的服务器配置错误,因为它适用于其他浏览器.
任何帮助或提示表示赞赏.
谢谢
PHP手册指出time()
返回 "当前的UNIX时间戳" ᴀ 并microtime()
返回 "当前Unix时间戳和微秒" ʙ.
但是,这些功能是否保证与严格符合POSIX.1系统的功能相同?
具体来说,以time()
| 的输出方式插入闰秒 在第二天开始时向后microtime()
跳1秒(也就是在闰秒结束时),在下一个第一秒的整个过程中给我们重复的返回值 - 与新鲜的唯一值相对天?
例如,如果我们轮询time()
| microtime()
在1998 -12-31和1999 -01 -01的整个范围内,每微秒,在915 148 800 <= x <915 148 801范围内,每个值是否会出现两次?
Facebook今天发布了一个重大声明--HHVM正在取代原来的hiphop编译器.
旧的HipHop对扩展的支持有限 - 包括IIRC,没有postgres支持.
HHVM是否支持所有pecl扩展?它支持多少标准PHP库?
什么不 HHVM支持?
当我尝试使用hacklang/hhvm(今天编译)通过PDO访问MySql时,我得到了一个pdo异常"找不到驱动程序".我尝试安装php5-mysql,但我甚至不确定它是否有用,因为我不确定php和hacklang之间的关系,特别是在扩展方面.我该怎么做才能让PDO在hacklang上工作?
更新:
我找到了支持的扩展名列表:https: //github.com/facebook/hhvm/wiki/Extensions
PDO和MySql都在那里,但我应该寻找mysql_pdo吗?或者我需要做一些配置吗?
我知道PHP7有一个新的编译器几乎和HHVM一样快,但我很好奇HHVM是否也能运行PHP7以及PHP5.
我找不到任何关于此的细节.我发现的一切只是一个HHVM与PHP7同样对于这个问题,任何人都可以找到将在HHVM上运行的PHP5版本.
谢谢
规格:Ubunutu 16.04.1服务器nginx 1.10 HHVM 3.17.0
我正在尝试收集文件列表,并通过hhvm编译器运行它们以利用repo模式,使用以下代码:
#!/bin/bash
if [ "$(whoami)" != "root" ]; then
echo "Only root can do this.";
exit 1;
else
if [ $# -eq 0 ]; then
echo "Please pass the account name to enable this for"
exit 1;
else
#Get a list of files
FLIST=$(find /home/$1/www/ -type f -name '*.php');
for F in $FLIST
do
if [ -f $F ]; then
echo "Adding; $F";
echo $F >> $1-list.txt;
fi;
done;
hhvm --hphp -t hhbc -v AllVolatile=false …
Run Code Online (Sandbox Code Playgroud) 我试图通过fastCGI在HHVM(3.0)和Apache(2.4)上部署Symfony2(2.4)应用程序,按照此处的说明 - https://github.com/facebook/hhvm/wiki/FastCGI
虽然我可以通过这种方式正确执行单个php文件,但它似乎不适用于Symfony2路由系统.路由已正确解析(例如localhost/myapp/web/app_dev.php/my/route/to/something),但页面本身不会加载.相反,页面只输出"未找到",HHVM记录以下内容:
没事做.要么传递.php文件来运行,要么使用-m server
这似乎表明它认为它没有通过正确的PHP文件.
应该注意的是,部署使用HHVM 2.x附带的内置Web服务器工作正常.但是,从HHVM 3.0开始,不再支持此服务器.
对于要改变哪些配置以使其工作,我感到非常遗憾.即使是能够正确解决这一问题的指针也是一个很好的答案.
目前,我们已开始在生产环境中使用HHVM,到目前为止,几乎所有结果都非常令人反感.与使用APC的PHP-FPM相比,我们的整体交易率大大提高.几乎所有请求都在500毫秒以下,但是每隔几个请求(5到10个左右)就会产生2到5秒的请求时间.
请求的页面似乎没有任何区别,并且一遍又一遍地请求同一页面将在几个请求中触发此行为.
我们使用以下命令行选项在服务器模式下运行HHVM:
/usr/bin/hhvm --mode server -vServer.Type=fastcgi -vServer.FileSocket=/usr/local/php55/sockets/admin.sock -vPidFile=/var/run/hhvm/admin.pid -vEval.Jit=true -vServer.ThreadCount=24 -vServer.APC.EnableApc=true
Run Code Online (Sandbox Code Playgroud)
我们正在为这些相关配置的网络服务器运行nginx(对不起,如果我忘记了一些重要的东西).
fastcgi_buffer_size 128k;
fastcgi_buffers 256 16k;
fastcgi_busy_buffers_size 256k;
fastcgi_temp_file_write_size 256k;
fastcgi_read_timeout 240;
fastcgi_intercept_errors on;
Run Code Online (Sandbox Code Playgroud)
服务器有128GB内存和24个内核(超线程实际上是12个).
我们在https://github.com/facebook/hhvm/wiki/Runtime-options上进行了相当多的搜索,但大多数选项都没有得到很好的解释,所以我不知道他们做了什么,并在生产环境中测试它们是有点吓人.
如果这里的任何人有类似的问题,或者可能指出我的方向与一些HHVM选项我会非常感激.
使用的HHVM版本来自http://www.hop5.in/yum/el6/
HipHop VM 3.0.1 (rel)
Compiler:
Repo schema: e69de29bb2d1d6434b8b29ae775ad8c2e48c5391
Run Code Online (Sandbox Code Playgroud)
和/etc/hhvm/config.hdf
Log {
Level = Warning
AlwaysLogUnhandledExceptions = true
RuntimeErrorReportingLevel = 8191
}
MySQL {
TypedResults = false
}
Run Code Online (Sandbox Code Playgroud)
我们正在使用supervisord启动HHVM,所以这里的主管配置如下:
[program:hhvm]
stopasgroup=true
killasgroup=true
command=/usr/bin/hhvm --mode server -vServer.Type=fastcgi -vServer.FileSocket=/usr/local/php55/sockets/admin.sock -vPidFile=/var/run/hhvm/admin.pid -vEval.Jit=true -vServer.ThreadCount=24 -vServer.APC.EnableApc=true
user=admin
stdout_logfile=/var/log/hhvm/admin.log
stderr_logfile=/var/log/hhvm/admin.error.log
directory=/home/admin
umask=000
Run Code Online (Sandbox Code Playgroud)
/etc/hhvm/php.ini中有一个php.ini,但内容为空.所有页面都尝试了一些数据库连接,但这通常是非常小的.完整的图片也是my.cnf.使用的mysql版本是percona
[mysql] …
Run Code Online (Sandbox Code Playgroud) 我在使用PhpStorm和HHVM中的内部Xdebug在流浪盒上玩得很好时遇到了问题,下面是我的php.ini.
xdebug.enable=1
xdebug.remote_enable=1
xdebug.idekey="PHPSTORM"
xdebug.remote_host="10.0.2.2"
xdebug.remote_autostart=0
xdebug.remote_connect_back=1
Run Code Online (Sandbox Code Playgroud)
PhpStorm正在侦听端口9000,如果我在第一次运行时删除所有远程服务器PhpStorm给了我通常的"来自Xdebug的传入连接".
在我选择正确的映射并且第一个断点被命中后,HHVM似乎在返回504网关超时之前挂起.如果我删除断点然后加载是即时的,那么显然PhpStorm和Xdebug似乎正在通信,但是调试窗口从不显示任何堆栈信息/断点控制.
有没有人有任何指针,我的想法是:1)我需要在Vargrant框上打开一个端口,因为通信挂在某处2)HHVM/PhpStorm中的错误(不太可能)
我在Ubuntu 14.04,Vagrant 1.6.5
使用Nginx + HipHop VM 3.4.1,扩展API:20140829,VM也是14.04
PhpStorm 8.0.2
我现在已经启用了针对Xdebug远程连接的vagrant box的登录,这是输出....
Log opened at[2014-12-18 14:59:16]
I: Checking remote connect back address.
I: Remote address found, connecting to 192.168.56.1:9089.
I: Connected to client. :-)
-> <init xmlns="urn:debugger_protocol_v1" xmlns:xdebug="http://xdebug.org/dbgp/xdebug" fileuri="file:///var/www/public/index.php" language="PHP" protocol_version="1.0" appid="9660" idekey="PHPSTORM"><engine version=""><![CDATA[xdebug]]></engine><author><![CDATA[HHVM]]></author><url><![CDATA[http://hhvm.com/]]></url><copyright><![CDATA[Copyright (c) 2002-2013 by Derick Rethans]]></copyright></init>
<- feature_set -i 1 -n show_hidden -v 1
-> <response xmlns="urn:debugger_protocol_v1" xmlns:xdebug="http://xdebug.org/dbgp/xdebug" command="feature_set" transaction_id="1" feature="show_hidden" success="1"></response>
<- feature_set -i 2 -n …
Run Code Online (Sandbox Code Playgroud)