HHVM或PHP5 Zend是否正在运行?

MSa*_*ich 4 php apache zend-framework hhvm

经过一番努力,我终于在Ubuntu中安装了Facebook HipHop虚拟机.它在FastCGI(Apache 2.22)下运行.下面是服务状态:

marcelo@marcelo-VirtualBox:~$ service apache2 status
Apache2 is running (pid 3330).
marcelo@marcelo-VirtualBox:~$ service hhvm status
 * hhvm is running
marcelo@marcelo-VirtualBox:~$ sudo service hhvm restart
 * Restarting HHVM FastCGI Daemon hhvm                                   [ OK ] 
marcelo@marcelo-VirtualBox:~$ 
Run Code Online (Sandbox Code Playgroud)

同一台机器在Apache中启用并配置了PHP5模块.


题:

我想确保我真的PHP使用HHVM和不使用代码Zend Framework.

我的所有PHP脚本都在Web服务器上运行.但是,当我禁用PHP5模块时,使用sudo a2dismod php5Web服务器开始渲染Internal Server Error.

HHVM是否需要启用PHP5模块才能运行?据说,由于我使用的是FastCGI,我的答案是否定的.另一方面,我认为我的页面是由Zend而不是HHVM呈现的.

我在这里错过了什么?我怎样才能确保我真的在运行HHVM?(在我看来,一个明确的测试是禁用PHP5模块,但是,正如我所说,当我禁用时,php停止在Web浏览器中工作).

如果.php未运行且已PHP5 module禁用,是否意味着我的HHVM配置不正确?

PS:我正在测试的脚本是默认的Hello World示例:<?php echo 'Hello World.'; ?>.

并且,当我从命令行运行时它可以工作:

marcelo@marcelo-VirtualBox:/var/www$ sudo hhvm hello_world.php
Hello World.
marcelo@marcelo-VirtualBox:/var/www$ 
Run Code Online (Sandbox Code Playgroud)

编辑

  • Apache error.log:

    marcelo @ marcelo-VirtualBox:/ var/log/apache2 $ cat error.log [Wed May 07 14:02:10 2014] [notice] FastCGI:流程管理器初始化(pid 2627)[Wed May 07 14:02:10 2014 ] [通知] Apache/2.2.22(Ubuntu)mod_fastcgi/mod_fastcgi-SNAP-0910052141配置 - 恢复正常操作[Wed May 07 14:04:52 2014] [错误] [客户端127.0.0.1](2)没有这样的文件或目录:FastCGI:无法连接到服务器"/var/www/fastcgi/hhvm.fastcgi":connect()失败[Wed May 07 14:04:52 2014] [错误] [client 127.0.0.1] FastCGI:从服务器"/var/www/fastcgi/hhvm.fastcgi"收到不完整的标题(0字节)[Wed May 07 14:04:53 2014] [错误] [客户端127.0.0.1]文件不存在:/ var/www /favicon.ico marcelo @ marcelo-VirtualBox:/ var/log/apache2 $

(显然,我应该有'hhvm.fastcgi'文件.我只有目录.这里有什么不对吗?)

  • /var/www 目录:

    marcelo @ marcelo-VirtualBox:〜$ ls -l/var/www total 20 drwxrwxrwx 2 root root 4096 May 6 23:45 fastcgi -rw-r - r-- 1 root root 31 May 6 21:57 hello_world.php - rw-r - r-- 1 root root 177 5月6日17:47 index.html -rw -r - r-- 1 root root 5月6日17:50 info.php -rw-r - r-- 1 root root 0 May 6 17:49 info.php~drwxr-xr-x 13 997 1001 4096 5月6日18:13 mediawiki-1.22.6 marcelo @ marcelo-VirtualBox:〜$ ls -l/var/www/fastcgi /总共0 marcelo @ marcelo-VirtualBox:〜$

- FastCGI配置: 我在这里添加了以下行:https://github.com/facebook/hhvm/wiki/FastCGI,位于apache2.conf文件的末尾.换句话说,在所有'mods-enabled'已经加载之后.

# fastcgi added by M. Sardelich
<IfModule mod_fastcgi.c>
    Alias /hhvm.fastcgi /var/www/fastcgi/hhvm.fastcgi
    FastCGIExternalServer /var/www/fastcgi/hhvm.fastcgi -socket /var/run/hhvm/socket -pass-header Authorization -idle-timeout 300
    <Directory "/var/www/fastcgi">
        <Files "hhvm.fastcgi">
            Order deny,allow
        </Files>
    </Directory>

    AddHandler hhvm-hack-extension .hh
    AddHandler hhvm-php-extension .php

    Action hhvm-hack-extension /hhvm.fastcgi virtual
    Action hhvm-php-extension /hhvm.fastcgi virtual
</IfModule>
Run Code Online (Sandbox Code Playgroud)

Sin*_*ina 6

要确保您实际上正在运行HHVM,请运行以下命令:

phpinfo();
Run Code Online (Sandbox Code Playgroud)

它应该产生HipHop输出,而不是正常的PHP信息.

要以编程方式检查它,您可以使用以下(此处也提到):

if (defined('HHVM_VERSION')) {
    echo "ruuning HHVM";
}
Run Code Online (Sandbox Code Playgroud)