基本上我有这个内部使用ZipArchive的包
PHP_FPM_INSTALL_ZIP_ARCHIVE=true
我已经为我的 php-fpm 容器设置了标志
php artisan log:archive
当我在容器中启动命令时,该包按预期工作,workspace
但是如果我尝试在php-worker
发生可怕的事情时设置 Horizon,基本上只要我docker-compose up -d php-worker
使用以下主管配置启动 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
填充了在ArchiveCommand.php中找不到的类 ZipArchive
当然,从依赖项中删除包可以解决问题,但它不应该是一个解决方案,因为 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 上的相关问题