本质是PHP自动加载机制失效,需检查vendor/autoload.php是否存在且映射完整、基础依赖是否安装、autoload是否刷新、缓存是否损坏及CLI环境扩展是否齐全。

执行 php artisan 报“Class not found”错误,本质是 PHP 自动加载机制失效,不是命令本身坏了。核心问题在于 vendor/autoload.php 没能正确映射到你要用的类——可能是路径、命名空间、缓存或依赖缺失导致。
检查 vendor 和自动加载文件是否完整
artisan 启动第一件事就是引入 vendor/autoload.php。如果这个文件不存在,或 vendor/ 目录不全,命令直接失败。
- 确认项目根目录下有
vendor/文件夹,且里面包含autoload.php - 如果没有,说明依赖根本没装:运行
composer install(优先用 lock 文件) - 如果有但报错依旧,可能是 autoload 映射损坏:运行
composer dump-autoload --optimize
验证关键 Laravel 包是否已安装
artisan 依赖 symfony/console、illuminate/support 和 laravel/framework 等基础包。缺任何一个都会中断启动。
- 打开
composer.json,检查"require"区块是否包含这些包 - 若缺失,不要手动复制,而是运行:
composer require laravel/framework symfony/console illuminate/support - 装完再执行一次
composer dump-autoload
手动清理缓存绕过 artisan 失效
有时配置或编译缓存损坏,会导致 artisan 还没跑起来就崩溃。此时不能靠 artisan 清缓存,得手动删。
- 删除
bootstrap/cache/config.php、services.php、packages.php - 清空
storage/framework/cache/data/下所有文件(保留目录结构) - 再试
php artisan list,如果成功,后续可补运行:php artisan config:cache
确认 PHP CLI 环境支持必要扩展
artisan 在命令行下运行,用的是 CLI 版 PHP,它和网页用的 PHP 配置可能不同。缺扩展会直接报错(比如找不到某个类或函数)。
- 运行
php -m | grep -E 'openssl|tokenizer|json|mbstring|xml' - 确保输出里有这五个模块;若缺失,在 CLI 的
php.ini中启用对应扩展 - 特别注意:Windows 用户常因 XAMPP/WAMP 的 CLI php.ini 未配好而失败











