Я пытаюсь запустить PhantomJS на моем сервере, размещенном на HostGator. Phantom инициируется сценарием оболочки, который:
Этот код прекрасно работал на моем сервере Xampp, но начал доставлять мне неприятности, как только я загрузил весь проект в hostgator. Я был в состоянии проверить, что до тех пор, пока этот скрипт не будет вызван, все работает так, как было задумано. Вот скрипт, который инициализирует PhantomJS:
<?php
$URL = $_POST['url'];
$USER = $_POST['user'];
$PASSWORD = $_POST['password'];
$res = shell_exec("...EXACT PATH/scripts/phantom/bin/phantomjs ...EXACT PATH/scripts/phantom/examples/test.js 2>&1 $URL $USER $PASSWORD");
echo json_encode(preg_replace("/[^A-Za-z]/", '', $res));
?>
Все переменные правильно передаются в этот скрипт. При вызове консоль выводит следующее (это необработанная форма минус путь к файлам)
xbxffdddliblibcsolibcstartmainxfdxffdddxaPhantomJShascrashedPleasereadthebugreportingguideathttpphantomjsorgbugreportinghtmlandfileabugreport
Или, с добавленными пробелами,
PhantomJS has crashed. Please read the bug reporting guide at http://phantomjs.org/bugreporting.html and file a bug report
Представители Hostgator сказали мне, что сам сервер 64 bit
, и я уверен, чтобы загрузить правильную версию на сервер. Я провел некоторое исследование на серверах Hostgator и обнаружил, что максимальное время ожидания для сценариев PHP составляет 30 секунд — это обычно приводит к ошибке в течение 2.
Есть идеи, почему это происходит?
Задача ещё не решена.
Других решений пока нет …