我在Windows平台上,我在app / webroot / phantomjs上有phantomjs可执行文件,在同一个文件夹中有一个js。 当我在php上做的时候:
$response = exec($this->webroot . 'app/webroot/phantomjs/phantomjs getweb.js');
没有任何反应。这是js的内容:
console.log('Hello, world!');
phantom.exit();
我使用绝对路径,因为这需要在网上在网页上执行。
编辑1:
使用时
$response = exec($this->webroot . 'app/webroot/phantomjs/phantomjs getweb.js 2>&1', $s, $o);
echo $response;
echo "<pre>";
print_r($s);
echo "</pre>";
echo "<pre>";
print_r($o);
echo "</pre>";
我得到了
Array
(
)
1
编辑2:
这很好用:
echo exec("whoami");
编辑3: 这没有任何作用:
$response = exec($this->webroot . 'app/webroot/phantomjs/phantomjs getweb.js 2>&1', $s, $o);
答案 0 :(得分:0)
我遇到了同样的问题.. 事情是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);