在Ubuntu Server 16上安装完所有内容后,我的testfile显示HHVM未启动。 同时sudo服务hhvm状态告诉我状态是活动的(退出)并且它无法打开/var/log/hhvm/error.log
重新启动服务器没有错误,但我无法让HHVM完全启动并运行。 testfile是var / www / html中的一个简单的if / else PHP文件,如下所示。
<?php
if (defined('HHVM_VERSION')) {
echo 'hhvm is working';
} else {
echo 'hhvm is not working' ;
}
?>
这个状态来自哪里(我已经发现它可能与守护进程有关,但我可以启动守护进程而没有问题)以及如何解决它?
我已经尝试了一些我能找到的解决方案,但没有成功。 :(我正在使用HHVM和Apache。
编辑以响应@hanshendrik
谢谢,你的top命令显示前两个结果与示例相同。然后drwxrwxr-x root syslog log和hhvm:没有这样的文件或目录。所以我制作了hhvm文件夹并将组更改为www-data。它具有drwxr-xr-x权限,error.log具有-rw-rwxr--权限。但问题尚未解决。它不再提供警告但仍然显示活动(退出)并显示HHVM fastcgi守护程序已启动
编辑,部分解决 我的测试站点仍然说HHVM不能工作...... :(
答案 0 :(得分:1)
可能是权限问题,首先运行sudo su www-data -s /bin/bash
(例如,namei -l /var/log/hhvm/error.log
)然后运行namei -l /var/log/hhvm/error.log
f: /var/log/hhvm/error.log
drwxr-xr-x root root /
drwxr-xr-x root root var
drwxr-xr-x root root log
drwx------ root www-data hhvm
error.log - No such file or directory
,并显示失败的位置。例如,输出可能是
chmod g+x /var/log/hhvm
这里,因为所有者是root用户,并且只有所有者对该文件夹具有执行权限,所以只有所有者(root)可以打开其中的任何文件,修复程序将是drwxr-xr-x root root /
drwxr-xr-x root root var
drwxr-xr-x root root log
drwx--x--- root www-data hhvm
-rw-r--r-- root www-data error.log
。或者输出可能是
chmod g+w /var/log/hhvm/error.log
这里,所有者和组对该文件夹具有执行权限,但只有所有者具有对error.log的写入权限,并且修复将为 boolean isExecutable = false
def process = ("file " + "/abc/xyx/abcd.sh").execute()
log.info("printing the output: ")
process.text.eachLine {
if (it.contains("executable")) {
isExecutable = true
}
}
if(isExecutable){
println "file is executable"
}
,...祝你好运