webentwicklung-frage-antwort-db.com.de

Laravel 5-Klasse 'Collective\Html\HtmlServiceProvider' wurde in AWS nicht gefunden

Ich weiß, dass da draußen ein paar andere Fragen mit dem gleichen Fehler schweben, wie zum Beispiel: Klasse 'Illuminate\Html\HtmlServiceProvider' nicht gefunden Laravel 5

Mein Problem ist, dass ich alle vorgeschlagenen Schritte befolgt habe, um dieses Problem auf meinem lokalen (XAMPP) zu lösen, und das Problem wurde problemlos gelöst. Das Problem ist, wenn ich in meine AWS-Ubuntu-Box (nginx) implementiert wurde. Ich habe alle üblichen Anweisungen befolgt: http://laravelcollective.com/docs/5.1/html#installation

Meine Provider und Aliasnamen wurden hinzugefügt, als ich einen Git Pull von dem machte, was ich von meinem Einheimischen verdrängt hatte. Vielleicht sollte diese Datei gitignored sein und die Änderung manuell auf dem Server vorgenommen werden?

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 habe 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 lief ich:

composer.phar update

Es wurde dieser Befehl ausgeführt, der den Fehler auslöst:

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

Ich habe dann versucht, PHP-Handwerker klar kompiliert auszuführen, um zu sehen, ob das irgendetwas tun würde, und bekam Folgendes:

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 weiß, dass meine Nginx-Ubuntu-Umgebung nicht dasselbe ist wie eine Windows-Xampp-Umgebung, aber ich bin immer noch nicht sicher, warum das Befolgen der von Laravel bereitgestellten Anweisungen für das Hinzufügen nicht funktioniert. Würde mich über einige Ratschläge sehr freuen.

Prost!

13
carbide20

Wenn Sie Ihren Composer aktualisieren, werden die Anbieter überprüft. Da Sie laravelcollective/html noch nicht installiert haben, kann er sie nicht finden und gibt einen Fehler aus:

Also erst die Packeges anfordern und sie dann der Konfigurationsdatei hinzufügen.

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

40
cre8

Auf Laravel 5.2. * Ist der gleiche Fehler aufgetreten. Befolgen Sie die Anweisungen hier: https://laravelcollective.com/docs/5.2/html , hat aber nicht funktioniert.

Die andere Möglichkeit, das Problem zu beheben, führen Sie auf Ihrer CLI aus:

$ composer dump-autoload

Dann renne:

$ composer update

Das funktioniert für mich. ;)

10
Gengjun Wu

Wenn Sie Laravel 5.2 verwenden, versuchen Sie, dies Ihrer composer.json hinzuzufügen

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

Die Installation ist fehlgeschlagen, und der ursprüngliche Inhalt von ./composer.json wird wiederhergestellt.

[ErrorException]
copy (/home/zahid/.composer/cache/files/laravelcollective/html/20e9e29d83e23aba16dc4b8d93d0757e1541f076.Zip): Der Stream konnte nicht geöffnet werden: Permiss
Ion verweigert 

Befehl: composer benötigt laravelcollective/html --prefer-source

dann klappt es

0
Zahid Gani

Versuchen Sie zuerst composer update. Es werden alle Abhängigkeiten aktualisiert. Falls dies jedoch nicht funktioniert, löschen Sie den Herstellerordner Ihres Projekts, geben Sie composer install ein und führen Sie ihn in cli aus, wodurch wiederum Abhängigkeiten hinzugefügt werden.

0
Ram Bhandari