在 Laravel 中安装 Dompdf 后出现 PHP 错误

标签 php laravel laravel-5 laravel-dompdf

我运行了这个:

composer require barryvdh/laravel-dompdf

然后我在bootstrap/app.php中注册:

$app->register(\Barryvdh\DomPDF\ServiceProvider::class);

然后我尝试发布:

php artisanvendor:publish --provider="Barryvdh\DomPDF\ServiceProvider"

然后我遇到了一个大错误,如下所示:

PHP Fatal error:  Uncaught ReflectionException: Class config does not exist in G:\web development  all classes\simba2\vendor\laravel\framework\src\Illuminate\Container\Container.php:809
Stack trace:
#0 G:\web development  all classes\simba2\vendor\laravel\framework\src\Illuminate\Container\Container.php(809): ReflectionClass->__construct('config')
#1 G:\web development  all classes\simba2\vendor\laravel\framework\src\Illuminate\Container\Container.php(691): Illuminate\Container\Container->build('config')
#2 G:\web development  all classes\simba2\vendor\laravel\framework\src\Illuminate\Foundation\Application.php(796): Illuminate\Container\Container->resolve('config', Array, true)
#3 G:\web development  all classes\simba2\vendor\laravel\framework\src\Illuminate\Container\Container.php(637): Illuminate\Foundation\Application->resolve('config', Array)
#4 G:\web development  all classes\simba2\vendor\laravel\framework\src\Illuminate\Foundation\Application.php(781): Illuminate\Container\Container->make('config', Array)
#5 G:\web dev in G:\web development  all classes\simba2\vendor\laravel\framework\src\Illuminate\Container\Container.php on line 811

Fatal error: Uncaught ReflectionException: Class config does not exist in G:\web development  all classes\simba2\vendor\laravel\framework\src\Illuminate\Container\Container.php:809
Stack trace:
#0 G:\web development  all classes\simba2\vendor\laravel\framework\src\Illuminate\Container\Container.php(809): ReflectionClass->__construct('config')
#1 G:\web development  all classes\simba2\vendor\laravel\framework\src\Illuminate\Container\Container.php(691): Illuminate\Container\Container->build('config')
#2 G:\web development  all classes\simba2\vendor\laravel\framework\src\Illuminate\Foundation\Application.php(796): Illuminate\Container\Container->resolve('config', Array, true)
#3 G:\web development  all classes\simba2\vendor\laravel\framework\src\Illuminate\Container\Container.php(637): Illuminate\Foundation\Application->resolve('config', Array)
#4 G:\web development  all classes\simba2\vendor\laravel\framework\src\Illuminate\Foundation\Application.php(781): Illuminate\Container\Container->make('config', Array)
#5 G:\web dev in G:\web development  all classes\simba2\vendor\laravel\framework\src\Illuminate\Container\Container.php on line 811.

现在,当我尝试运行 php artisan ser this 时,它显示了同样的错误。

最佳答案

我认为在 bootstrap/app.php 中注册 laravel-dompdf 是为了 lumen 而不是为了 laravel .

您需要做的是:

  1. 首先从您的 bootstrap/app.app 中删除此行 $app->register(\Barryvdh\DomPDF\ServiceProvider::class); 。 php

  2. 打开 config/app.php 文件并将 DomPDF 服务提供者合并到提供者数组中,并将 DomPDF 外观合并到别名数组中像这样:

    • 添加 Barryvdh\DomPDF\ServiceProvider::class,providers 数组,如下所示:

      'providers' => [
      /*
      * Laravel Framework Service Providers...
      */
      Illuminate\Auth\AuthServiceProvider::class,
      Illuminate\Broadcasting\BroadcastServiceProvider::class,
      Illuminate\Bus\BusServiceProvider::class,
      Illuminate\Cache\CacheServiceProvider::class,
      ...
      
      /*
      * Package Service Providers...
      */
      Barryvdh\DomPDF\ServiceProvider::class, // added here 
      
      /*
      * Application Service Providers...
      */
      App\Providers\AppServiceProvider::class,
      App\Providers\AuthServiceProvider::class,
      ...
      ],
      
    • 添加 'PDF' => Barryvdh\DomPDF\Facade::class,aliases 数组,如下所示:

       'aliases' => [
      
          'App' => Illuminate\Support\Facades\App::class,
          'Arr' => Illuminate\Support\Arr::class,
          'Artisan' => Illuminate\Support\Facades\Artisan::class,
          ...
          ...
          'PDF' => Barryvdh\DomPDF\Facade::class,
      
          ],
      
    • 保存您的config/app.php

  3. 最后执行以下命令以发布来自供应商的 Assets 。

    php artisan vendor:publish --provider="Barryvdh\DomPDF\ServiceProvider"
    

这应该可以解决您的问题

您可以开始使用laravel-dompdf:

use PDF;

关于在 Laravel 中安装 Dompdf 后出现 PHP 错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/72024271/

相关文章:

php - Cpanel 上的 Laravel 共享主机

PHP - 将数组拆分为 block 。

php - 对于MySQL查询中的每个结果,推送到数组(复杂)

php - Laravel:用于不同公告类型的单个或多个 mysql 表

php - 安装 MongoDB PHP 驱动程序(64 位 linux)

php - jQuery 多重选择显示隐藏不适用于所有选择元素

php - 如何从php中的链接下载视频?

php - session flash 消息执行两次 Laravel

javascript - 日期 不专门在 laravel 中工作

php - Laravel 和 MySQL 的唯一 IP 计数器