Класс 'Maatwebsite \\ Excel \\ ExcelServiceProvider' не найден - Laravel 4.2 - PullRequest
0 голосов
/ 08 января 2019

Я использую 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

Как мне избежать этого? Это то, что я сделал в одном из моих файлов миграции?

Ответы [ 2 ]

0 голосов
/ 08 января 2019

Убедитесь, что вы публикуете после выполнения этих шагов

1) добавить эту строку в composer.json

"maatwebsite/excel": "~2.1.0",

затем запустите

composer update

2) После обновления композитора добавьте ServiceProvider в массив провайдеров в app/config/app.php как 'Maatwebsite\Excel\ExcelServiceProvider'

и псевдоним, как это

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

3) И наконец, опубликовать для Laravel 5

`php artisan vendor:publish`

php artisan config:publish maatwebsite/excel для Laravel 4

Надеюсь, это кому-нибудь поможет.

0 голосов
/ 08 января 2019

Для Laravel 4

Добавить эту строку в composer.json

"maatwebsite/excel": "~1.3",

После изменений в composer.json запустите composer update

Добавить ServiceProvider в массив провайдеров в config/app.php, например:

'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 автоматически обнаруживается и регистрируется по умолчанию, но если вы хотите зарегистрировать его самостоятельно:

Добавьте ServiceProvider и Фасад в config/app.php

'providers' => [
    Maatwebsite\Excel\ExcelServiceProvider::class,
],
'aliases' => [
    'Excel' => Maatwebsite\Excel\Facades\Excel::class,
]

Чтобы опубликовать конфигурацию, выполните команду vendor publish: php artisan vendor:publish Это создаст новый файл конфигурации с именем config/excel.php

...