17

クラス 'Illuminate\Html\HtmlServiceProvider' が見つかりません Laravel 5

私の問題は、ローカル(XAMPP)でこれを解決するために提案されたすべての手順に従ったことであり、問​​題なく修正されました。問題は、AWS ubuntu ボックス (nginx) にデプロイしようとしたときです。私はすべての通常の指示に従いました: http://laravelcollective.com/docs/5.1/html#installation

ローカルからプッシュしたものから git pull を実行したときに、プロバイダーとエイリアスが追加されていました。おそらく、このファイルは gitignor され、変更はサーバー上で手動で行われるべきでしたか?

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

次に手動で追加しました:

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

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

そして最後に、私は走った:

composer.phar update

エラーをスローするこのコマンドを実行していました:

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

次に、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 6716



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

私のnginx ubuntu環境がWindows xampp envと同じではないことは知っていますが、これを追加するためにLaravelが提供する指示に従ってもうまくいかないように見える理由はまだわかりません。これに関するアドバイスをいただければ幸いです。

乾杯!

4

5 に答える 5

56

コンポーザーを更新すると、プロバイダーがチェックされます。まだインストールしていないためlaravelcollective/html、彼はそれを見つけることができず、エラーをスローします。

したがって、最初にパッケージを要求してから、それらを構成ファイルに追加します。

で作業することもできcomposer require laravelcollective/htmlます.jsonファイルに自動的に追加されます. 構成ファイルがチェックされないため、以前にそれらを追加したかどうかは関係ありません。

于 2015-09-26T09:34:55.977 に答える
14

Laravel 5.2.* でも同じエラーが発生しました。こちらの指示に従いました: https://laravelcollective.com/docs/5.2/htmlですが、機能しませんでした。

それを修正するもう 1 つの方法は、CLI で次を実行します。

$ composer ダンプ-オートロード

次に実行します。

$ 作曲家の更新

これは私にとってはうまくいきます。;)

于 2016-02-29T19:50:20.297 に答える
5

If you're using Laravel 5.2, try adding this to your composer.json

"require": {
    "php": ">=5.5.9",
    "laravel/framework": "5.2.*",
    "laravelcollective/html": "^5.2",
    ... 
},
于 2016-05-01T05:49:48.637 に答える