javascript — Установка CasperJS и PhantomJS на веб-сервер

я кладу phantomjs-1.9.7-MacOSX а также casperjs 1.1-beta в две отдельные папки. В корневом каталоге у меня есть index.html, куда я звоню hello.js который является минимальный скребковый скрипт из примера начала работы с casparjs. Очевидно, я получаю:

Uncaught ReferenceError: требование не определено

поскольку require () не существует в браузере / на стороне клиента.

Затем я попытался установить среду с PHP и выполнить ее

putenv("PHANTOMJS_EXECUTABLE=/phantomjs/bin/phantomjs");
echo "Running PhantomJS version: ";
echo exec('/phantomjs/bin/phantomjs --version 2>&1');
echo "Running CasperJS version: ";
echo exec('/casperjs/bin/casperjs --version 2>&1');

но сервер ответил с новой ошибкой:

Предупреждение: exec () был отключен по соображениям безопасности в

Я не мог найти обходного пути к этому, поэтому я решил сделать один шаг назад и запустить его на локальном веб-сервере XAMPP. Я следовал за ответ от аналогичной проблемы, но CasperJS снова ответил с ошибкой:

[Errno 13] В доступе отказано; Вы установили фантомы?

Я попробовал «sudo chmod a + rx» для каталогов, но безуспешно.

Я не могу найти решения ни одной из моих проблем. Я использовал эти простые примеры только для проверки. Все это прекрасно работает с терминала (как и файлы PHP на локальном веб-сервере). Я считаю, что проблема заключается в интеграции на сервере, локальном или веб-.

0

Решение

PhantomJS — это браузер, который вам нужно вызвать, чтобы выполнить на нем какой-то навигационный скрипт. Этот скрипт может открывать страницы и что-то делать с результатами. CasperJS построен на основе PhantomJS и упрощает большую часть работы, необходимой для написания скриптов PhantomJS.

Скрипт PhantomJS / CasperJS не могу выполняться в клиентском браузере. Он должен быть запущен на сервере, запущен внутри CasperJS / PhantomJS и Результаты может быть передано клиенту.

Вам либо нужно

  • включить exec/shell_exec или же
  • используйте написать свой скрипт CasperJS в качестве веб-сервера.

PhantomJS обеспечивает модуль веб-сервера который вы можете использовать, чтобы позволить PhantomJS принимать HTTP-запросы, открывать страницу с некоторым кодом CasperJS, делать что-то и записывать результат в ответ. Таким образом, вы можете запустить один экземпляр CasperJS и позволить PHP переслать запрос в CasperJS.

1

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

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

По вопросам рекламы [email protected]