2015-09-26 11 views
10

Ich weiß, es gibt eine Reihe von anderen Fragen rund um mit dem gleichen Fehler da draußen schwimmen, wie zum Beispiel: Class 'Illuminate\Html\HtmlServiceProvider' not found Laravel 5Laravel 5 Class ‚Collective Html HtmlServiceProvider‘ nicht auf AWS gefunden

Mein Problem ist, dass ich folgte allen vorgeschlagenen Schritten, um dies auf meinem lokalen (XAMPP) zu lösen, und es reparierte es ohne eine Störung. Das Problem tritt auf, als ich meine AWS-Ubuntu-Box (nginx) bereitstellen wollte. Ich befolgte alle üblichen Anweisungen: http://laravelcollective.com/docs/5.1/html#installation

Meine Provider und Aliase wurden hinzugefügt, als ich einen git pull von dem, was ich von meinem lokalen geschoben hatte, gemacht hatte. Vielleicht sollte diese Datei manipuliert worden sein und die Änderung manuell auf dem Server vorgenommen worden sein?

Next, add your new provider to the providers array of config/app.php: 

    'providers' => [ 
    // ... 
    Collective\Html\HtmlServiceProvider::class, 
    // ... 
    ], 

Finally, add two class aliases to the aliases array of config/app.php: 

    'aliases' => [ 
    // ... 
     'Form' => Collective\Html\FormFacade::class, 
     'Html' => Collective\Html\HtmlFacade::class, 
    // ... 
    ], 

ich dann manuell hinzugefügt:

Begin by installing this package through Composer. Edit your project's composer.json file to require laravelcollective/html. 

"require": { 
    "laravelcollective/html": "5.1.*" 
} 

Und schließlich, ich lief:

composer.phar update 

Es diesen Befehl ausgeführt wurde, der den Fehler wirft:

PHP Warning: Module 'mcrypt' already loaded in Unknown on line 0 
> php artisan clear-compiled 
PHP Warning: Module 'mcrypt' already loaded in Unknown on line 0 
PHP Fatal error: Class 'Collective\Html\HtmlServiceProvider' not found in /usr/share/nginx/html/cbt/vendor/compiled.php on line 6 



    [Symfony\Component\Debug\Exception\FatalErrorException] 
    Class 'Collective\Html\HtmlServiceProvider' not found 



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



    [RuntimeException] 
    Error Output: PHP Warning: Module 'mcrypt' already loaded in Unknown on line 0 
    PHP Fatal error: Class 'Collective\Html\HtmlServiceProvider' not found in /usr/share/nginx/html/cbt/vendor/compiled.php on line 



update [--prefer-source] [--prefer-dist] [--dry-run] [--dev] [--no-dev] [--lock] [--no-plugins] [--no-custom-installers] [--no-auties] [-v|vv|vvv|--verbose] [-o|--optimize-autoloader] [--ignore-platform-reqs] [--prefer-stable] [--prefer-lowest] [packages1] ... 

I dann versuchte php artisan clear-compile auszuführen d, um zu sehen, ob das alles tun würde, und bekam:

PHP Warning: Module 'mcrypt' already loaded in Unknown on line 0 
PHP Fatal error: Class 'Collective\Html\HtmlServiceProvider' not found in /usr/share/nginx/html/cbt/vendor/compiled.php on line 6716 



    [Symfony\Component\Debug\Exception\FatalErrorException] 
    Class 'Collective\Html\HtmlServiceProvider' not found 

ich meine nginx ubuntu Umgebung weiß nicht das gleiche wie ein Fenster xampp env ist, aber ich bin immer noch nicht sicher, warum die folgende Laravel-Anweisungen für das Hinzufügen scheint nicht zu funktionieren. Ich würde mich sehr über einige Hinweise zu diesem Thema freuen.

Prost!

+0

haben Sie versucht, 'Komponist Dump-autoload'? –

+0

Das hat leider nicht geholfen. – carbide20

Antwort

31

Wenn Sie Ihren Composer aktualisieren, überprüft er die Provider. Da Sie laravelcollective/html noch nicht installiert haben, kann er es nicht finden und löst einen Fehler aus:

Also zuerst benötigen Sie Ihre Pakete, dann fügen Sie sie in die Konfigurationsdatei.

Sie können auch mit composer require laravelcollective/html arbeiten, es wird automatisch zur json-Datei hinzugefügt. Dann ist es egal, ob Sie sie vorher hinzugefügt haben oder nicht, da die Konfigurationsdatei nicht geprüft wird.

+0

Genau das, was ich zu tun hatte, vielen Dank! Ich hätte wissen müssen, dass die Reihenfolge der Operationen immer wichtig ist. – carbide20

7

Ich habe den gleichen Fehler auf Laravel 5.2. *, Gefolgt Anweisung hier: https://laravelcollective.com/docs/5.2/html, aber nicht funktioniert.

Der andere Weg, es zu beheben, auf dem CLI laufen:

$ Komponist dump-Autoload

Dann laufen:

$ Komponist Update

Dies funktioniert für mich. ;)

2

Wenn Sie Laravel verwenden sind 5.2, versuchen Sie, diese zu Ihrem composer.json

"require": { 
    "php": ">=5.5.9", 
    "laravel/framework": "5.2.*", 
    "laravelcollective/html": "^5.2", 
    ... 
}, 
+0

Funktioniert das auch in Laravel 5.3? – ITWitch