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

Docker部署Laravel 9遇Octane命名空间错误,请求解决

Laravel Sail 启动时出现 Octane 命名空间错误的解决办法

问题场景

通过以下命令搭建仅包含MySQL和Redis的Laravel 9新项目:

curl -s "https://laravel.build/example-app??with=mysql,redis" | bash

进入项目并启动Sail后:

cd example-app && ./vendor/bin/sail up

php-fpm容器无法正常运行,报错信息如下:

2022-08-04 20:59:27,326 INFO spawned: 'php' with pid 44
ERROR There are no commands defined in the "octane" namespace.

example-app-laravel.test-1 |
example-app-laravel.test-1 | 2022-08-04 20:59:28,193 INFO exited: php (exit status 1; not expected)

新项目未安装或配置Octane,composer.json中无相关依赖,且仅启动了当前项目容器,却出现Octane相关错误。

问题原因

核心原因是Docker环境的配置残留或环境变量缓存:

  • 之前运行过的Octane项目可能留下了环境变量(如APP_SERVER=octane),Docker在启动新项目时意外读取了该变量
  • Sail的容器启动配置被环境变量影响,错误尝试执行Octane启动命令,而新项目并未安装Octane依赖

解决步骤

1. 彻底清理Docker残留

停止当前项目容器并删除关联卷(彻底清除缓存):

./vendor/bin/sail down -v

可选:清理Docker系统中未使用的镜像、容器等资源:

docker system prune -f

2. 检查并修复项目配置

  • 打开项目根目录的.env文件,查找是否存在APP_SERVER=octane配置,若有则修改为:
    APP_SERVER=php-fpm
    
  • 检查docker-compose.yml文件,确认laravel.test服务的command配置为默认的start-container,而非Octane启动命令。

3. 重新启动项目

重新安装依赖(确保依赖干净):

./vendor/bin/sail composer install

再次启动容器:

./vendor/bin/sail up

内容的提问来源于stack exchange,提问作者Bogdan Dubyk

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.23 08:36:11