2015-09-26 19 views
10

So che ci sono un sacco di altre domande che galleggiano intorno là fuori con lo stesso errore, come ad esempio: Class 'Illuminate\Html\HtmlServiceProvider' not found Laravel 5laravel 5 Class 'Collettivo Html HtmlServiceProvider' non trovato su AWS

mio problema è che ho ho seguito tutti i passaggi suggeriti per risolvere questo problema sul mio locale (XAMPP) e l'ho risolto senza intoppi. Il problema è quando sono andato a distribuire nella mia casella di Ubuntu AWS (nginx). Ho seguito tutte le solite istruzioni: http://laravelcollective.com/docs/5.1/html#installation

I miei provider e alias erano stati aggiunti quando ho fatto un tiro da quello che avevo spinto dal mio locale. Forse questo file avrebbe dovuto essere gitignorato e la modifica apportata manualmente sul server?

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, 
    // ... 
    ], 

Ho poi aggiunto manualmente:

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

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

E, infine, mi sono imbattuto:

composer.phar update 

era in esecuzione questo comando che genera l'errore:

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 quindi ho provato ad eseguire php artisan in chiaro d, per vedere se questo sarebbe fare qualsiasi cosa, ed ha ottenuto:

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 

so il mio ambiente nginx ubuntu non è la stessa di un env finestre XAMPP, ma io sono ancora sicuri perché seguendo le istruzioni fornite laravel-per aggiungendo questo non sembra funzionare. Apprezzerei molto qualche consiglio su questo.

Cheers!

+0

Hai provato 'compositore discarica-autoload'? –

+0

Purtroppo non è stato di aiuto. – carbide20

risposta

31

Quando aggiorni il compositore controllerà i provider. Perché non hai ancora installato laravelcollective/html e non riesce a trovarlo e genera un errore:

Quindi prima di tutto richiedono i pacchetti, quindi li aggiungono al file di configurazione.

È anche possibile lavorare con composer require laravelcollective/html, lo aggiungerà automaticamente al file json. Quindi non importa se li hai aggiunti prima o no perché il file di configurazione non verrà controllato.

+0

Esattamente quello che dovevo fare, grazie mille! Avrei dovuto sapere che l'ordine delle operazioni conta sempre. – carbide20

7

Ho riscontrato lo stesso errore su Laravel 5.2. *, Seguito le istruzioni qui: https://laravelcollective.com/docs/5.2/html, ma non ha funzionato.

L'altro modo per risolvere il problema, sul CLI, eseguire:

$ compositore discarica-caricamento automatico

Quindi eseguire:

aggiornamento $ compositore

questo funziona per me. ;)

2

Se stai usando laravel 5.2, prova ad aggiungere questo al vostro composer.json

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

Funzionerà anche in Laravel 5.3? – ITWitch

Problemi correlati