ZipArchive не найден при использовании php-worker формы laradock - PullRequest
0 голосов
/ 13 ноября 2018

В основном у меня есть этот пакет , который внутренне использует ZipArchive

Я установил флаг PHP_FPM_INSTALL_ZIP_ARCHIVE=true для моего контейнера php-fpm

Пакет работает, как и ожидалось, когда я запускаю команду php artisan log:archive внутри моего workspace контейнера, но если я пытаюсь настроить Horizon на php-worker, происходит что-то ужасное, в основном, как только я запускаю php-worker docker-compose up -d php-worker с следующая конфигурация для супервизора:

[program:laravel-horizon]
process_name=%(program_name)s
command=php /var/www/artisan horizon
autostart=true
autorestart=true
user=root
redirect_stderr=true
stdout_logfile=/var/www/storage/logs/horizon.log


[program:laravel-queue-work]
process_name=%(program_name)s_%(process_num)02da
command=php /var/www/artisan queue:work --sleep=3 --tries=3 --daemon
autostart=true
autorestart=true
user=root
numprocs=8
redirect_stderr=true
stdout_logfile=/var/www/storage/logs/queue-work.log

И queue-work.log, и horizon.log заполнены классом ZipArchive , отсутствующим в ArchiveCommand.php ?

Конечно, удаление пакета из зависимостей решает проблему, но это не должно быть решением, поскольку ZipArchive установлен и пакет работает как положено внутри workspace

Чего мне не хватает?


Ожидаемое поведение:

Контейнер php-worker должен запускаться без запроса исключения Class ZipArchive not found in ...


Воспроизводить:

  • Свежая установка Laravel
  • Добавить "ludo237/laravel-logs-manager": "^1.0", в качестве зависимости
  • Сборка workspace и php-fpm с PHP_FPM_INSTALL_ZIP_ARCHIVE=true
  • Проверка поведения исключенной команды в workspace
  • Создайте контейнер php-worker с конфигурацией супервизора выше
  • Проверка неожиданного поведения внутри журналов

Связанные проблемы на Github

1 Ответ

0 голосов
/ 08 февраля 2019

Контейнер PHP-FPM и контейнер PHP-WORKER - это не то же самое, что вам нужно для установки пакета в PHP-WORKER.(php-worker - это то место, где работает супервизор)

...