Php phantomjs使用exec不工作

Php phantomjs使用exec不工作,php,server,phantomjs,har,Php,Server,Phantomjs,Har,我可以运行phantomjs netsniff代码在终端中创建har文件(作为root),但当我使用php执行它时,它返回的确实是createhar文件,但比特数为零。两次执行的代码相同 我在php中禁用了安全模式,对har生成文件夹有777权限。我错过了什么 我的操作系统是centos 64位。我曾经安装过 php代码 <?php $rrd= 'phantomjs /var/www/xxx/netsniff.js "http://www.wiki.com" > /var/www/

我可以运行phantomjs netsniff代码在终端中创建har文件(作为root),但当我使用php执行它时,它返回的确实是createhar文件,但比特数为零。两次执行的代码相同

我在php中禁用了安全模式,对har生成文件夹有777权限。我错过了什么

我的操作系统是centos 64位。我曾经安装过

php代码

<?php

$rrd= 'phantomjs /var/www/xxx/netsniff.js "http://www.wiki.com" > /var/www/xxx/xx/xx.har';
exec($rrd);

?>

您应该始终检查错误;这可以告诉您出了什么问题:

$output = array();
$returnCode = null;
exec($rrd, $output, $returnCode);
print_r($output);
echo "Return code was $returnCode\n";

从您的注释中,您说您得到了返回代码127,这通常意味着“未找到命令”。
phantomjs
在您的路径上吗?如果您键入PHP运行的用户身份为哪个phantomjs,您会得到什么?避免这种情况的一种简单方法是,只需在命令中指定二进制文件的完整路径,即使用
/path/to/phantomjs
,而不只是在命令字符串中使用
phantomjs

能否显示PHP代码?请尝试检查错误<代码>$output=array()$returnCode=null;exec($rrd,$output,$returnCode);打印(输出);echo“返回代码为$returnCode\n”