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

Laravel 10使用SimpleQR报错:找不到QrCodeServiceProvider类

解决Laravel 10中SimpleQR服务提供者找不到的问题

针对你遇到的Class "SimpleSoftwareIO\QrCode\QrCodeServiceProvider" not found错误,按以下步骤排查解决:

1. 移除手动配置的服务提供者与别名

Laravel 5.5及以上版本支持包自动发现,simplesoftwareio/simple-qrcode 4.x已经内置了自动注册逻辑,手动在config/app.php中添加服务提供者和别名反而会导致冲突或路径错误:

  • 打开config/app.php,删除providers数组中的SimpleSoftwareIO\QrCode\QrCodeServiceProvider::class
  • 删除aliases数组中的'QrCode' => SimpleSoftwareIO\QrCode\Facades\QrCode::class

2. 清除Laravel缓存

缓存的旧配置可能导致服务提供者无法被正确识别,执行以下命令:

php artisan config:clear
php artisan cache:clear
php artisan route:clear

3. 确认门面的正确使用

在你的路由文件中,确保引入了QrCode门面(或使用完整命名空间):

use SimpleSoftwareIO\QrCode\Facades\QrCode;

Route::get('/qr-code', function () {
    // 生成PNG格式并转成base64,适配视图中的前缀
    $qrCode = base64_encode(QrCode::format('png')->size(500)->generate('Hello, World!'));
    return view('qrcode', compact('qrCode'));
});

如果不想引入门面,也可以直接使用完整命名空间调用:

$qrCode = base64_encode(\SimpleSoftwareIO\QrCode\Facades\QrCode::format('png')->size(500)->generate('Hello, World!'));

4. 重新安装依赖(若上述步骤无效)

彻底移除并重新安装包,确保依赖安装无异常:

composer remove simplesoftwareio/simple-qrcode
composer require simplesoftwareio/simple-qrcode

额外注意:视图中的二维码格式兼容

你的视图中使用了data:image/png;base64,前缀,但默认generate()方法返回的是SVG内容,必须指定format('png')并转成base64,否则图片无法正常显示。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.26 17:12:41