【问题标题】:Class 'Maatwebsite\\Excel\\ExcelServiceProvider' not found - Laravel 4.2找不到类'Maatwebsite\\Excel\\ExcelServiceProvider' - Laravel 4.2
【发布时间】:2019-06-02 16:15:09
【问题描述】:

我使用的是 Laravel 4.2,在运行 php artisan migrate 后我得到了

PHP Fatal error:  Class 'Maatwebsite\Excel\ExcelServiceProvider' not found in /home/forge/site/distributor-portal/vendor/laravel/framework/src/Illuminate/Foundation/ProviderRepository.php on line 157
PHP Stack trace:
PHP   1. {main}() /home/forge/site/distributor-portal/artisan:0
PHP   2. require_once() /home/forge/site/distributor-portal/artisan:30
PHP   3. require() /home/forge/site/distributor-portal/bootstrap/start.php:68
PHP   4. Illuminate\Foundation\ProviderRepository->load() /home/forge/site/distributor-portal/vendor/laravel/framework/src/Illuminate/Foundation/start.php:210
PHP   5. Illuminate\Foundation\ProviderRepository->compileManifest() /home/forge/site/distributor-portal/vendor/laravel/framework/src/Illuminate/Foundation/ProviderRepository.php:57
PHP   6. Illuminate\Foundation\ProviderRepository->createProvider() /home/forge/site/distributor-portal/vendor/laravel/framework/src/Illuminate/Foundation/ProviderRepository.php:121
{"error":{"type":"Symfony\\Component\\Debug\\Exception\\FatalErrorException","message":"Class 'Maatwebsite\\Excel\\ExcelServiceProvider' not found","file":"\/home\/forge\/site\/distributor-portal\/vendor\/laravel\/framework\/src\/Illuminate\/Foundation\/ProviderRepository.php","line":157}}

这就是我在composer.json中的内容

"maatwebsite/excel": "~1.3"

我在 PHP 5.6 上运行。

Maatwebsite\Excel\ExcelServiceProvider

如何避免这种情况?这是我在我的一个迁移文件中所做的吗?

【问题讨论】:

    标签: php laravel ubuntu laravel-4 php-5.6


    【解决方案1】:

    对于 Laravel 4

    将此行添加到composer.json

    "maatwebsite/excel": "~1.3",
    

    composer.json 修改后运行composer update

    将 ServiceProvider 添加到 config/app.php 中的 providers 数组中,例如:

    'Maatwebsite\Excel\ExcelServiceProvider',
    

    也可以在别名中添加:

    'Excel' => 'Maatwebsite\Excel\Facades\Excel',
    

    发布配置文件:

    php artisan config:publish maatwebsite/excel
    // The config files can now be found at app/config/packages/maatwebsite/excel
    

    对于 Laravel 5

    这将下载包和 PhpSpreadsheet.just 在命令提示符下运行:

    composer require maatwebsite/excel
    

    Maatwebsite\Excel\ExcelServiceProvider默认是自动发现和注册的,但如果你想自己注册:

    config/app.php

    中添加ServiceProvider和Facade
    'providers' => [
        Maatwebsite\Excel\ExcelServiceProvider::class,
    ],
    'aliases' => [
        'Excel' => Maatwebsite\Excel\Facades\Excel::class,
    ]
    

    要发布配置,请运行供应商发布命令:php artisan vendor:publish 这将创建一个名为 config/excel.php

    的新配置文件

    【讨论】:

      【解决方案2】:

      确保按照这些步骤进行发布

      1) 将此行添加到 composer.json

      "maatwebsite/excel": "~2.1.0",
      

      然后运行

      composer update
      

      2) 更新composer后,将ServiceProvider添加到 app/config/app.php 中的 providers 数组就像 'Maatwebsite\Excel\ExcelServiceProvider',

      还有这样的别名

      'Excel' => 'Maatwebsite\Excel\Facades\Excel',
      

      3) 最后,为 Laravel 5 发布

      `php artisan vendor:publish`
      

      php artisan config:publish maatwebsite/excel 用于 Laravel 4

      我希望它对某人有所帮助。!

      【讨论】:

        猜你喜欢
        • 2019-05-30
        • 2020-02-25
        • 1970-01-01
        • 1970-01-01
        • 2015-12-29
        • 2015-06-18
        • 2017-11-12
        • 1970-01-01
        • 2019-05-15
        相关资源
        最近更新 更多