类找不到主因是psr-4自动加载未同步:需确保文件路径、命名空间、类名三者严格一致且大小写敏感;修改后必须执行composer dump-autoload刷新映射,并检查vendor/composer/autoload_psr4.php是否正确生成。

类找不到,大概率不是 Laragon 的问题,而是 Laravel 项目自身的自动加载没跟上文件变动。Laragon 只是本地开发环境,它不干预 Composer 的类加载逻辑——真正起作用的是 composer autoload 映射是否准确、是否生效。
检查文件路径与命名空间是否严格匹配
Laravel 遵循 PSR-4 标准,要求三者完全一致:
- 文件物理路径:比如
app/Models/MenuList.php - 文件内声明的命名空间:必须是
namespace AppModels; - 类名本身:必须是
class MenuList(不能是class Listing或class menulist)
大小写敏感,Windows 系统下有时“看似能运行”,实则靠缓存蒙混过关,一到 Linux 或部署就报错。
强制刷新 Composer 自动加载映射
只要新建、重命名、移动过类文件(包括模型、命令、Trait、Service),就必须手动重建 autoload 文件:
- 在项目根目录执行:
composer dump-autoload - 如需优化性能(尤其生产环境),加
--optimize参数:composer dump-autoload --optimize - 执行后检查
vendor/composer/autoload_psr4.php,确认你的命名空间(如"App\Models\" => ["app/Models/"])已存在且路径正确
确认 Laragon 的 PHP 和 Composer 环境干净可用
Laragon 默认集成了 PHP 和 Composer,但有时 PATH 或版本冲突会导致命令静默失败:
- 打开终端,cd 进你的 Laravel 项目根目录(确保有
artisan和composer.json) - 运行
php -v确认 PHP 版本 ≥ 8.2(Laravel 11 要求) - 运行
composer --version确保不是极老版本(建议 ≥ 2.5) - 若
php artisan list报错,先试php vendor/autoload.php—— 若提示 Parse Error 或 Fatal Error,说明 autoload 文件本身损坏,需重新composer install
额外注意 Laragon 特有的缓存干扰
Laragon 自带 OPCache 和 realpath 缓存,偶尔会“记住”旧类路径:
- 重启 Laragon 托盘里的 Apache/Nginx + MySQL(点“Restart All”最稳妥)
- 清空 Laravel 自身缓存:
php artisan config:clear && php artisan cache:clear - 如果仍异常,临时关闭 OPCache:打开 Laragon → “PHP” → “php.ini”,搜索
opcache.enable,设为0,再重启服务











