You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Laravel Sail安装时Redis类未找到错误的解决求助

解决Laravel Sail安装依赖时Redis类找不到的问题

问题场景

克隆Laravel 10项目并创建.env文件后,执行官方文档提供的Composer安装命令:

docker run --rm \
    -u "$(id -u):$(id -g)" \
    -v "$(pwd):/var/www/html" \
    -w /var/www/html \
    laravelsail/php82-composer:latest \
    composer install --ignore-platform-reqs

触发post-autoload-dump事件执行php artisan package:discover时,报错Class "Redis" not found,原因是laravelsail/php82-composer镜像默认未安装phpredis扩展。

解决方案

方案1:跳过Composer脚本执行安装

直接在安装命令中添加--no-scripts参数,跳过post-autoload-dump阶段的artisan命令:

docker run --rm \
    -u "$(id -u):$(id -g)" \
    -v "$(pwd):/var/www/html" \
    -w /var/www/html \
    laravelsail/php82-composer:latest \
    composer install --ignore-platform-reqs --no-scripts

安装完成后,启动Sail容器(容器内已预装phpredis扩展),再手动执行包发现命令:

./vendor/bin/sail up -d
./vendor/bin/sail artisan package:discover

方案2:自定义包含phpredis扩展的Composer镜像

  1. 在项目根目录创建Dockerfile:
FROM laravelsail/php82-composer:latest

# 安装并启用phpredis扩展
RUN pecl install redis && docker-php-ext-enable redis
  1. 构建自定义镜像:
docker build -t sail-php82-composer-redis .
  1. 使用自定义镜像执行Composer安装:
docker run --rm \
    -u "$(id -u):$(id -g)" \
    -v "$(pwd):/var/www/html" \
    -w /var/www/html \
    sail-php82-composer-redis \
    composer install --ignore-platform-reqs

方案3:直接在Sail容器内执行Composer安装

先初始化并启动Sail容器(容器环境自带所需扩展),再在容器内执行安装:

# 生成Sail配置文件(首次执行)
./vendor/bin/sail install
# 启动容器
./vendor/bin/sail up -d
# 在容器内执行Composer安装
./vendor/bin/sail composer install

内容的提问来源于stack exchange,提问作者Davood Ghanbarpour

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.19 05:00:22