Laravel 10升级后重启服务报unexpected identifier 'string'错误求助
问题解决步骤
根源分析
Laravel 10 要求 PHP 版本最低为 8.1,但你的 Docker 配置使用的是 PHP 8.0,导致项目依赖的 sebastian/version 库使用了 PHP 8.1+ 专属语法,PHP 8.0 无法解析,从而触发语法错误。
解决步骤
1. 更新 Docker Compose 配置
修改 docker-compose.yml 中 laravel.test 服务的 PHP 版本配置:
laravel.test: container_name: server build: context: ./vendor/laravel/sail/runtimes/8.1 # 将8.0改为8.1或更高版本(如8.2) dockerfile: Dockerfile args: WWWGROUP: '${WWWGROUP}' image: sail-8.1/app # 同步修改镜像名称为对应版本
2. 清理旧容器与镜像并重新构建
执行以下命令:
# 停止并移除现有容器、网络 docker-compose down # 删除旧的PHP8.0镜像 docker rmi sail-8.0/app # 重新构建镜像并启动服务 docker-compose up --build -d
3. 重新安装依赖(可选但推荐)
进入容器清理旧依赖并重新安装适配PHP8.1的版本:
docker exec -it server rm -rf vendor composer.lock docker exec -it server composer install --no-dev
内容的提问来源于stack exchange,提问作者Sky
相关产品推荐
相关产品推荐

