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)
要确保您实际上正在运行HHVM,请运行以下命令:
phpinfo();
Run Code Online (Sandbox Code Playgroud)
它应该产生HipHop输出,而不是正常的PHP信息.
要以编程方式检查它,您可以使用以下(此处也提到):
if (defined('HHVM_VERSION')) {
echo "ruuning HHVM";
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1478 次 |
| 最近记录: |