未找到“Maatwebsite\\Excel\\ExcelServiceProvider”类 - Laravel 4.2

kyo*_*kyo 2 php ubuntu laravel laravel-4 php-5.6

我正在使用 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}}
Run Code Online (Sandbox Code Playgroud)

这就是我所拥有的composer.json

"maatwebsite/excel": "~1.3"
Run Code Online (Sandbox Code Playgroud)

我正在PHP 5.6上运行。

Maatwebsite\Excel\ExcelServiceProvider

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

Udh*_*iya 7

对于Laravel 4

将此行添加到composer.json

"maatwebsite/excel": "~1.3",
Run Code Online (Sandbox Code Playgroud)

更改composer.json后然后运行composer update

将 ServiceProvider 添加到提供者数组中,如下config/app.php所示:

'Maatwebsite\Excel\ExcelServiceProvider',
Run Code Online (Sandbox Code Playgroud)

还可以添加别名,例如:

'Excel' => 'Maatwebsite\Excel\Facades\Excel',
Run Code Online (Sandbox Code Playgroud)

发布配置文件:

php artisan config:publish maatwebsite/excel
// The config files can now be found at app/config/packages/maatwebsite/excel
Run Code Online (Sandbox Code Playgroud)

对于Laravel 5

这将下载包和 PhpSpreadsheet。只需在命令提示符下运行:

composer require maatwebsite/excel
Run Code Online (Sandbox Code Playgroud)

默认情况下会Maatwebsite\Excel\ExcelServiceProvider自动发现并注册,但如果您想自己注册:

添加 ServiceProvider 和 Facadeconfig/app.php

'providers' => [
    Maatwebsite\Excel\ExcelServiceProvider::class,
],
'aliases' => [
    'Excel' => Maatwebsite\Excel\Facades\Excel::class,
]
Run Code Online (Sandbox Code Playgroud)

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