yii-queue+xdebug+phpstorm = зависание

Предварительное обсуждение найденных ошибок перед отправкой их авторам фреймворка, а также внесение новых предложений.
Ответить
mkramer
Сообщения: 476
Зарегистрирован: 2014.12.14, 13:02

yii-queue+xdebug+phpstorm = зависание

Сообщение mkramer » 2018.03.07, 21:45

Интересный случай, не знаю, куда запихать :) Исходные данные, проект на Yii 2, используются очереди с драйвером через базу, проект развёрнут на виртальной машине с Linux-ом + там xdebug.remote_autostart = 1. Добавляю задачу в очередь, запускаю вручную yii queue/run, и вдруг получаю зависание. Задача зависнуть не может, там простая отправка почты. Эксперементально нашёл, что дело в proc_open, но не мог понять почему. После достаточно продолжительной борьбы выяснялось, что виноват Xdebug и слушающий его phpstorm. Отключаю прослушивание порта в php-storm, очереди работают, включаю - висят :)

Польза, правда, тоже есть - посмотрел, что вполне можно завести очереди, если proc_open запрещён, к примеру, на шареде (мало ли, куда клиенты захотят сайт поставить). Просто тогда нужно подменить класс команды, в котором перекрыть метод canIsolate, чтоб всегда возвращал false.

Аватара пользователя
samdark
Администратор
Сообщения: 8773
Зарегистрирован: 2009.04.02, 13:46
Откуда: Воронеж
Контактная информация:

Re: yii-queue+xdebug+phpstorm = зависание

Сообщение samdark » 2018.03.08, 01:17

Думаю, это надо репортить в XDebug.

Ответить