我在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')
,然后输出我期待的数据。
我不确定还有什么可以尝试。
答案 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"。