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

Laravel PHP 8中出现Class 'Mpdf\Mpdf' not found错误求助

解决Laravel PHP 8中"Class 'Mpdf\Mpdf' not found"错误

问题场景

在Laravel PHP 8环境的generatePdf方法中,执行new Mpdf()时触发类找不到错误,已尝试composer require mpdf/mpdf重新安装依赖、composer dump-autoload刷新自动加载、更新composer,且vendor目录下确实存在mpdf文件夹。

解决方案

  • 检查命名空间导入
    在控制器文件顶部添加Mpdf类的命名空间导入:

    use Mpdf\Mpdf;
    

    如果不想导入,也可以直接使用完整命名空间实例化:

    $mpdf = new \Mpdf\Mpdf();
    
  • 移除手动引入的autoload文件
    Laravel框架会自动处理vendor目录的自动加载,代码中手动require_once base_path('vendor/autoload.php');可能导致加载冲突,直接删除这行代码即可。

  • 验证依赖兼容性
    执行以下命令查看已安装的mpdf版本,确认其支持PHP 8(mpdf 8.0及以上版本兼容PHP 7.4-8.3):

    composer show mpdf/mpdf
    

    如果版本过低,执行composer require mpdf/mpdf:^8.0安装兼容版本。

  • 清理缓存并重新生成自动加载
    依次执行以下命令,彻底清理缓存并优化自动加载:

    composer clear-cache
    composer dump-autoload -o
    php artisan cache:clear
    php artisan config:clear
    
  • 排查自定义配置文件的干扰
    暂时注释掉include_once base_path('config/mpdf.php');这行代码,测试是否能正常实例化Mpdf。如果可以,说明自定义的mpdf配置文件存在错误,需要检查其中的命名空间或类定义是否正确。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.16 22:52:09