使用php-worker形式laradock时找不到ZipArchive

时间:2018-11-13 15:14:42

标签: php laravel docker supervisord laradock

基本上我已经this package在内部使用ZipArchive

我已经为我的php-fpm容器设置了标志PHP_FPM_INSTALL_ZIP_ARCHIVE=true

当我在php artisan log:archive容器中启动workspace命令时,该软件包可以按预期工作,但是如果我尝试在php-worker上设置Horizo​​n,那么基本上就发生了,基本上是在我启动php-工作人员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.loghorizon.log都充满了{strong>

中找不到的 Class ZipArchive。

当然,从依赖项中删除软件包可以解决此问题,但由于安装了ZipArchive并且该软件包在workspace内按预期工作,因此它不是解决方案。

我想念什么?


预期的行为:

容器php-worker应该启动而不提示异常Class ZipArchive not found in ...


复制:

  • 新安装的laravel
  • 添加"ludo237/laravel-logs-manager": "^1.0",作为依赖项
  • 使用workspace构建php-fpmPHP_FPM_INSTALL_ZIP_ARCHIVE=true
  • workspace中测试命令的异常行为
  • 使用上面的主管配置创建一个php-worker容器
  • 测试日志中的意外行为

相关的ArchiveCommand.php

1 个答案:

答案 0 :(得分:0)

PHP-FPM容器和PHP-WORKER容器不同,您需要将软件包安装到PHP-WORKER。 (php-worker是主管运行的地方)