Скрипт не работает Phantomjs
Я запускаю этот скрипт на php:
<?
echo $result = shell_exec("phantomjs \script.js");
?>
Script.js :
var page = require("webpage").create();
page.open("http://livescore.in/", function (status) {
if (status !== 'success') {
console.log('Unable to load the address!');
phantom.exit();
} else {
window.setTimeout(function () {
console.log(page.content);
phantom.exit();
}, 5000);
}
});
Php-файл, phantom.js, script.js лежат в той же папке.
Версия PhantomJS - 2.2.1
В результате скрипт загружается на неопределенный срок.
1 answers
Причиной проблемы, скорее всего, являются неправильные пути к файлам. Самое простое решение в вашем случае - установить полные пути к двоичному файлу phantomjs и скрипту.
<?php
echo $result = shell_exec("/path/to/work/folder/phantomjs /path/to/work/folder/script.js");
?>
Чтобы узнать полный путь: войдите на свой сервер, перейдите в рабочую папку и затем выполните команду
pwd
Выводом этой команды является путь, который необходимо использовать в shell_exec
.
Таким образом, вы не запутаетесь в путях, и скрипт всегда будет выполняться. Но я бы посоветовал вам воспользоваться моментом и почитать о абсолютные/относительные пути в Linux.
Это также должно работать, если все файлы находятся в одной папке:
<?php
echo $result = shell_exec("phantomjs script.js");
?>