Кукольник не загружает страницу из laravel exec () в контроллер - PullRequest
0 голосов
/ 09 октября 2018

Laravel 5.6 работает на 127.0.0.1:8000

У меня есть файл capture.js, который использует Puppeteer и открывает страницу

127.0.0.1: 8000 / рендер

когда я вызываю его из командной строки, он работает очень хорошо.

node capture.js

Теперь, когда я вызываю его внутри контроллера Laravel, используя

exec('node capture.js' )

, он запускает Puppeteer, но страница не загружается(TIMEOUT)

, когда я пытаюсь с контроллера с capture.js загрузить другую страницу (например, google.fr), он работает хорошо.

это как-то связано с сетью?localhost на порту 8000?

без заголовка false или true дали те же результаты => TIMEOUT

Ответы [ 2 ]

0 голосов
/ 03 мая 2019

У меня была точно такая же проблема в проекте Symfony 3.4.

Проблема возникла из сессий:

Когда вызывается команда exec (), сеанс PHP уже существует ифайл сеанса заблокирован.И когда скрипт NodeJS пытается подключиться, происходит тайм-аут, поскольку файл сеанса недоступен.

Я решил проблему, добавив следующую команду над командой exec ():

session_write_close();
0 голосов
/ 10 октября 2018

Вы звоните exec из файла, который необходим для запуска вашего приложения laravel.Время истекло, потому что exec блокирует загрузку приложения laravel.

Это пример того, что делается,

Приложение Laravel -> Кукольник -> Подождите!Перейти за приложение Laravel

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