linux — nginx throws «504» ошибка шлюза при попытке запустить скрипт phantomjs из переполнения стека

Я пытаюсь запустить скрипт phantomjs так:

$max_time = ini_get('max_execution_time');
set_time_limit(0);
$result = shell_exec($path_to_phantomjs);
// Do stuff with result here...
set_time_limit($max_time);

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

Это происходит с ошибкой 504 от nginx, следует отметить, что тот же код работает достаточно хорошо на моем (локальном) сервере Apache.

1

Решение

Ошибка 504 означает, что nginx достигает таймаута при получении страницы из бэкэнда (php). Чтобы это исправить, вы должны увеличить значения следующих переменных в вашем прокси-сервере php до значения, превышающего время выполнения вашего скрипта (в секундах):

fastcgi_read_timeout

proxy_read_timeout

1

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

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

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