运行php artisan migrate
后,我正在使用Laravel 4.2,
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
如何避免这种情况?这是我在一个迁移文件中所做的事情吗?
答案 0 :(得分: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。仅在命令提示符下运行:
composer require maatwebsite/excel
Maatwebsite\Excel\ExcelServiceProvider
是自动发现并默认注册的,但是如果您想自己注册,则:
在 config/app.php
'providers' => [
Maatwebsite\Excel\ExcelServiceProvider::class,
],
'aliases' => [
'Excel' => Maatwebsite\Excel\Facades\Excel::class,
]
要发布配置,请运行供应商发布命令:php artisan vendor:publish
,这将创建一个名为 config/excel.php
答案 1 :(得分:1)
请确保您按照以下步骤进行发布
1)将此行添加到composer.json
"maatwebsite/excel": "~2.1.0",
然后运行
composer update
2)更新作曲家后,将ServiceProvider添加到
app/config/app.php
中的provider数组,例如
'Maatwebsite\Excel\ExcelServiceProvider'
,
和这样的别名
'Excel' => 'Maatwebsite\Excel\Facades\Excel',
3)最后,为Laravel 5发布
`php artisan vendor:publish`
php artisan config:publish maatwebsite/excel
for Laravel 4
我希望它能对某人有所帮助。