2016-01-06 8 views
8

Ich verbringe derzeit Zeit, um mein Projekt von Laravel 4.2 auf Laravel 5.2 zu aktualisieren. Laravel 5.2 Upgrade - Klasse AuthServiceProvider nicht gefunden

Nach vielen Mühen ich es geschafft, eine 5.1-Version erhalten ordnungsgemäß ausgeführt wird, so begann ich mit dem 5,1-5,2 Verfahren wie in den offiziellen Dokumente beschrieben: https://laravel.com/docs/5.2/upgrade#upgrade-5.2.0

Nach dem ersten Schritt, mein composer.json sieht aus wie dies:

"require": { 
     "laravel/framework": "5.2.*", 
     "illuminate/html": "5.*", 
     "andywer/js-localization": "dev-laravel-5", 
     "laracasts/flash" : "~1.0" 
    }, 
    "require-dev": { 
     "phpunit/phpunit": "~4.0", 
     "phpspec/phpspec": "~2.1", 
     "symfony/dom-crawler": "~3.0", 
     "symfony/css-selector": "~3.0" 
    }, 
    "autoload": { 
     "classmap": [ 
      "database", 
      "app/Models", 
      "app/Http/Controllers" 
     ], 
     "psr-4": { 
      "App\\": "app/" 
     } 
    }, 
    "autoload-dev": { 
     "classmap": [ 
      "tests/TestCase.php" 
     ] 
    }, 

ich auch die app.php Config aktualisiert zu ArtisanServiceProvider und ControllerServiceProvider im Provider Abschnitt zu löschen.

Meine app.php Config wie folgt aussieht:

/* 
    |-------------------------------------------------------------------------- 
    | Autoloaded Service Providers 
    |-------------------------------------------------------------------------- 
    | 
    | The service providers listed here will be automatically loaded on the 
    | request to your application. Feel free to add your own services to 
    | this array to grant expanded functionality to your applications. 
    | 
    */ 

    'providers' => array(

     /* 
     * Laravel Framework Service Providers... 
     */ 
     'Illuminate\Auth\AuthServiceProvider', 
     'Illuminate\Broadcasting\BroadcastServiceProvider', 
     'Illuminate\Bus\BusServiceProvider', 
     'Illuminate\Cache\CacheServiceProvider', 
     'Illuminate\Foundation\Providers\ConsoleSupportServiceProvider', 
     'Illuminate\Cookie\CookieServiceProvider', 
     'Illuminate\Database\DatabaseServiceProvider', 
     'Illuminate\Encryption\EncryptionServiceProvider', 
     'Illuminate\Filesystem\FilesystemServiceProvider', 
     'Illuminate\Foundation\Providers\FoundationServiceProvider', 
     'Illuminate\Hashing\HashServiceProvider', 
     'Illuminate\Mail\MailServiceProvider', 
     'Illuminate\Pagination\PaginationServiceProvider', 
     'Illuminate\Pipeline\PipelineServiceProvider', 
     'Illuminate\Queue\QueueServiceProvider', 
     'Illuminate\Redis\RedisServiceProvider', 
     'Illuminate\Auth\Passwords\PasswordResetServiceProvider', 
     'Illuminate\Session\SessionServiceProvider', 
     'Illuminate\Translation\TranslationServiceProvider', 
     'Illuminate\Validation\ValidationServiceProvider', 
     'Illuminate\View\ViewServiceProvider', 
     /* 
     * Application Service Providers... 
     */ 
     'App\Providers\AppServiceProvider', 
     'App\Providers\AuthServiceProvider', 
     'App\Providers\EventServiceProvider', 
     'App\Providers\RouteServiceProvider', 

     // LIBS TIERCE 
     JsLocalization\JsLocalizationServiceProvider::class, 
     'Laracasts\Flash\FlashServiceProvider', 

    ), 

    /* 
    |-------------------------------------------------------------------------- 
    | Service Provider Manifest 
    |-------------------------------------------------------------------------- 
    | 
    | The service provider manifest is used by Laravel to lazy load service 
    | providers which are not needed for each request, as well to keep a 
    | list of all of the services. Here, you may set its storage spot. 
    | 
    */ 

    'manifest' => storage_path().'/meta', 

    /* 
    |-------------------------------------------------------------------------- 
    | Class Aliases 
    |-------------------------------------------------------------------------- 
    | 
    | This array of class aliases will be registered when this application 
    | is started. However, feel free to register as many as you wish as 
    | the aliases are "lazy" loaded so they don't hinder performance. 
    | 
    */ 

    'aliases' => array(

     'App'  => Illuminate\Support\Facades\App::class, 
     'Artisan' => Illuminate\Support\Facades\Artisan::class, 
     'Auth'  => Illuminate\Support\Facades\Auth::class, 
     'Blade'  => Illuminate\Support\Facades\Blade::class, 
     'Cache'  => Illuminate\Support\Facades\Cache::class, 
     'Config' => Illuminate\Support\Facades\Config::class, 
     'Cookie' => Illuminate\Support\Facades\Cookie::class, 
     'Crypt'  => Illuminate\Support\Facades\Crypt::class, 
     'DB'  => Illuminate\Support\Facades\DB::class, 
     'Eloquent' => Illuminate\Database\Eloquent\Model::class, 
     'Event'  => Illuminate\Support\Facades\Event::class, 
     'File'  => Illuminate\Support\Facades\File::class, 
     'Gate'  => Illuminate\Support\Facades\Gate::class, 
     'Hash'  => Illuminate\Support\Facades\Hash::class, 
     'Lang'  => Illuminate\Support\Facades\Lang::class, 
     'Log'  => Illuminate\Support\Facades\Log::class, 
     'Mail'  => Illuminate\Support\Facades\Mail::class, 
     'Password' => Illuminate\Support\Facades\Password::class, 
     'Queue'  => Illuminate\Support\Facades\Queue::class, 
     'Redirect' => Illuminate\Support\Facades\Redirect::class, 
     'Redis'  => Illuminate\Support\Facades\Redis::class, 
     'Request' => Illuminate\Support\Facades\Request::class, 
     'Response' => Illuminate\Support\Facades\Response::class, 
     'Route'  => Illuminate\Support\Facades\Route::class, 
     'Schema' => Illuminate\Support\Facades\Schema::class, 
     'Session' => Illuminate\Support\Facades\Session::class, 
     'Storage' => Illuminate\Support\Facades\Storage::class, 
     'URL'  => Illuminate\Support\Facades\URL::class, 
     'Validator' => Illuminate\Support\Facades\Validator::class, 
     'View'  => Illuminate\Support\Facades\View::class, 
     'Form'  => 'Illuminate\Html\FormFacade', 
     'HTML'  => 'Illuminate\Html\HtmlFacade', 

     // FAÇADES TIERCES 
     'Flash'    => 'Laracasts\Flash\Flash' 

    ), 

Natürlich, ich gelöscht die Config-Cache in Bootstrap/Cache und ich versuchte alles, was ich konnte, um es, aber ich jedes Mal funktioniert laufen composer update ich diesen Fehler jetzt:

> php artisan clear-compiled 


    [Symfony\Component\Debug\Exception\FatalErrorException] 
    Class 'App\Providers\AuthServiceProvider' not found 


Script php artisan clear-compiled handling the post-update-cmd event returned with an error 



    [RuntimeException] 
    Error Output: 

schlimmer als diese, kann ich keinen Handwerker-Befehl oder Seiten meiner Anwendung. Ich bekomme diesen Fehler jedes Mal, wenn ich ein paar PHP in diesem Projekt laufen lasse!

Dies sind einige Bewegungen, die ich versuchte:

  • alle Caches einschließlich Config-Cache löschen und services.json (unmöglich, sie in Handwerker-Befehlen aufgrund des Fehlers zu regenerieren)
  • die Hersteller-Ordner löschen und re-run Komponist Update
  • die 'Illuminate\Auth\AuthServiceProvider', Linie von app.php Config löschen

Nichts davon gearbeitet und mir gehen frische Ideen aus. Ich habe gelesen und lesen Sie die Upgrade-Anleitung der offiziellen Dokumentation und nichts scheint zu diesem Problem zu sein ...

Ich kämpfe immer noch mit all dem psr-4/Namespace-Sache in Laravel und ich fühle es kann so etwas verursacht werden, sondern kann, was genau nicht herausfinden ...

+2

versuche zuerst "composer dump-autoload" und dann "php artisan clear-compiled" dann überprüfe, ob das in Ordnung ist oder nicht –

+1

Du kannst diese dummen Fehler vermeiden indem du * Shift * benutzt um [deine Laravel Projekte automatisch zu aktualisieren] (https: //laravelshift.com). ** Volle Enthüllung: Ich schuf Verschiebung. ** –

Antwort

4

Haben Sie diesen Service-Provider anstelle App \ Providers hinzufügen \ AuthServiceProvider in/app/Provider Ordner

Wenn es nicht von hier kopieren und fixieren den Namespace

https://github.com/laravel/laravel/blob/master/app/Providers/AuthServiceProvider.php

+0

In der Tat, ich habe diese Datei nicht ... Danke für diese Idee, ich verstehe nicht, warum .. Ich begann die Migration durch eine neue 5.0-Installation und folgte dann alle Schritte in den Dokumenten. In der Dokumentation finden Sie keinen Hinweis darauf. Jetzt habe ich eine weitere Ausnahme, aber ich werde von mir selbst beginnen, bevor ich hierher zurückkomme;) Vielen Dank für diese Idee! – ZarkDev

+0

Schöner Awser, das hat mir sehr geholfen. Vielen Dank. –

1

Update

'Form'  => 'Illuminate\Html\FormFacade', 
    'HTML'  => 'Illuminate\Html\HtmlFacade', 

    // FAÇADES TIERCES 
    'Flash'    => 'Laracasts\Flash\Flash' 

ich denke, das sind Ihre Probleme verursachen, versuchen sie es ohne die, die laufen und prüfen, ob diese Pakete 5.2 sind kompatibel. Ich denke auch, dass die HTML-Komponente aus dem 5 entfernt wurde.* Sollten sie durch kollektive gehalten werden, so was Sie tun müssten, um die folgenden statt der Illuminate

'Form' => 'Collective\Html\FormFacade', 
'Html' => 'Collective\Html\HtmlFacade', 

Besuchen Laravel Collectives für weitere Informationen

+0

Ich musste in der Tat auf Kollektiv aktualisieren, aber das war nicht direkt auf mein Problem bezogen. Danke trotzdem für die Hinweise =) – ZarkDev

+0

kein Problem ich entschuldige mich ich muss Ihre Frage beim ersten Mal falsch gelesen haben. Die obige Antwort von Simon sollte sich darum kümmern. –

Verwandte Themen