带有phantomjs的Windows PHP exec / shell_exec始终返回null

时间:2013-03-07 18:04:56

标签: php windows exec phantomjs

我在Windows服务器上运行PHP 5.4.9

我尝试在PHP中运行所有脚本命令(exec,shell_exec,system,proc_open,passthru)。所有似乎都返回空或null。

我已将phantomjs添加为PATH变量。

在命令提示符下运行phantomjs --version,它返回1.8.2

虽然我试图运行

$return = exec("phantomjs --version")

$return = shell_exec("phantomjs --version", $output)

$return始终为空,$output为空。

我确保IUSR和IIS_IUSRS用户有权运行phantomjs.exe

在php.ini中禁用安全模式

另外,我尝试运行exec('ls') && exec('ipconfig /all'),然后输出我期待的数据。

我不确定还有什么可以尝试。

2 个答案:

答案 0 :(得分:1)

我遇到了同样的问题.. 事情是phantomjs需要所有的完整路径 这是我提出的解决方案:

$getout = exec('D:\\xampp\\htdocs\\phantomjsdir\\phantomjs.exe D:\\xampp\\htdocs\\rasterisejsdir\\rasterize.js http://localhost/pagetobecaptured/test D:\\xampp\\htdocs\\outputfiledir\\test2.jpg "1800px*840px"',$o,$e);

答案 1 :(得分:0)

你非常接近解决方案。它基本上是:

$stdout = shell_exec('time /T');
echo $stdout;

您需要确保Phantom二进制文件在路径上或使用完整路径调用。

有关执行PhantomJS的完整示例,请参阅driver file of "jakoch/PHPUnit-headless"