我有一个来自手册 http://docs.casperjs.org/en/latest/cli.html 的 test.js 代码
var casper = require("casper").create();
casper.echo("Casper CLI passed args:");
require("utils").dump(casper.cli.args);
casper.echo("Casper CLI passed options:");
require("utils").dump(casper.cli.options);
casper.exit();
我可以从终端“$ casperjs test.js arg1 arg2 arg3 --foo=bar --plop anotherarg”成功执行它。它正在工作,这很好,但我需要从 PHP 脚本执行它,我尝试通过 PHP 代码来执行它:
<?php
function parser() {
try {
echo(exec("C:\casperjs\bin\casperjs.exe C:\OpenServer\domains\casper\test.js arg1 arg2 arg3 --foo=bar --plop anotherarg"));
flush();
} catch (Exception $exc) {
echo('error!');
echo $exc->getTraceAsString();
}
}
parser();
putenv("PHANTOMJS_EXECUTABLE=/usr/local/bin/phantomjs");
putenv("DYLD_LIBRARY_PATH");
?>
但是我遇到了失败“phantomjs://code/bootstrap.js:110 in __die”。 我怎样才能正确地做到这一点?请帮忙!
最佳答案
您可以使用 CasperJS 的 PHP 包装器:
- php-casperjs
- casperjs-php (上述库的扩展)
或者,您可以使用 exec()
执行命令:
$result = exec('PHANTOMJS_EXECUTABLE=/usr/local/bin/phantomjs /usr/local/bin/casperjs script.js');
echo $result;
关于php - 如何从 php 执行 casperjs?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41961189/