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

Windows下用Laragon搭建Laravel遇多类报错,求解决方案

问题原因梳理

初始错误根源

第一个错误提示找不到vendor/autoload.php,说明项目vendor目录完全缺失或未正确生成。执行composer update未解决,大概率是composer安装依赖时中途失败——比如网络超时、composer配置错误,或是项目根目录的composer.json/composer.lock文件损坏。

后续dump-autoload的两个问题

  1. PSR-4规范不兼容:类名App\Http\Controllers\api\v1\TwoFactorApiController与文件实际路径app\Http\Controllers\Api\V1\TwoFactorApiController.php大小写不匹配。PSR-4要求命名空间大小写必须和文件系统路径大小写严格对应(即便Windows系统本身大小写不敏感,Laravel自动加载机制仍遵循此规范)。
  2. Illuminate类找不到:因vendor目录内的Laravel核心依赖未安装成功,导致bootstrap/app.php中调用的Illuminate\Foundation\Application类不存在,进而触发artisan package:discover脚本执行失败。

解决步骤

第一步:修复vendor目录缺失问题

  1. 进入项目根目录(C:\laragon\www\sprii),删除根目录下的composer.lock文件和vendor文件夹(若vendor存在但不完整)。
  2. 执行基础依赖安装命令:
composer install

若因网络问题下载失败,可切换国内镜像:

composer install -vvv --repo=https://mirrors.aliyun.com/composer/

该命令会依据composer.json重新安装所有依赖,生成完整的vendor目录与autoload.php文件。

第二步:修复PSR-4大小写不匹配问题

依赖安装完成后,处理类名与路径的大小写冲突:

  1. 修改TwoFactorApiController.php文件内的命名空间,将api\v1改为Api\V1,与文件路径的Api/V1保持一致:
namespace App\Http\Controllers\Api\V1;
  1. 检查项目中所有引用该类的位置(如路由、其他控制器),同步将类名中的api\v1改为Api\V1,避免调用错误。
  2. 重新生成自动加载文件:
composer dump-autoload

第三步:验证修复

完成上述步骤后,重新访问项目,或运行php artisan serve测试,确认应用可正常启动。


内容的提问来源于stack exchange,提问作者Seewpeng Nea

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.28 21:43:22