В основном у меня есть этот пакет , который внутренне использует 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