Разбор — Как я могу выполнить casperjs из PHP?

У меня есть код test.js из руководства http://docs.casperjs.org/en/latest/cli.html

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’.
Как я могу сделать это правильно? Пожалуйста помоги!

2

Решение

Вы можете использовать PHP-оболочку для CasperJS:

Кроме того, вы можете использовать exec() выполнить команду:

$result = exec('PHANTOMJS_EXECUTABLE=/usr/local/bin/phantomjs /usr/local/bin/casperjs script.js');
echo $result;
2

Другие решения

Других решений пока нет …