在AWS上找不到Laravel 5 Class'Collective\Html\HtmlServiceProvider'

car*_*e20 14 php amazon-web-services laravel laravel-5 laravelcollective

我知道还有很多其他问题出现在同一个错误中,例如:类'Illuminate\Html\HtmlServiceProvider'找不到Laravel 5

我的问题是我已经按照所有建议的步骤在我的本地(XAMPP)上解决了这个问题,并且它没有任何障碍.问题是当我去部署到我的AWS ubuntu框(nginx)时.我按照所有常用说明操作:http://laravelcollective.com/docs/5.1/html#installation

我从我当地推出的git pull中添加了我的提供者和别名.也许这个文件应该被gitignored,并且在服务器上手动进行更改?

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,
    // ...
  ],
Run Code Online (Sandbox Code Playgroud)

然后我手动添加:

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

"require": {
    "laravelcollective/html": "5.1.*"
}
Run Code Online (Sandbox Code Playgroud)

最后,我跑了:

composer.phar update
Run Code Online (Sandbox Code Playgroud)

它正在运行此命令抛出错误:

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] ...
Run Code Online (Sandbox Code Playgroud)

然后我尝试运行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
Run Code Online (Sandbox Code Playgroud)

我知道我的nginx ubuntu环境与windows xampp环境不一样,但是我仍然不确定为什么遵循Laravel提供的添加它的说明似乎不起作用.非常感谢对此提出一些建议.

干杯!

cre*_*re8 49

当您更新作曲家时,它将检查提供者.因为你还没有安装laravelcollective/html,他找不到它并抛出一个错误:

首先需要你的包装,然后将它们添加到配置文件中.

您也可以使用composer require laravelcollective/html,它会自动将其添加到json文件中.然后,如果您之前添加它们并不重要,因为不会检查配置文件.


小智 12

我在Laravel 5.2上遇到了同样的错误.*,遵循以下说明:https://laravelcollective.com/docs/5.2/html ,但没有用.

在CLI上修复它的另一种方法是:

$ composer dump-autoload

然后运行:

$ composer update

这适合我.;)


eca*_*rol 5

如果您使用的是 Laravel 5.2,请尝试将其添加到您的 composer.json

"require": {
    "php": ">=5.5.9",
    "laravel/framework": "5.2.*",
    "laravelcollective/html": "^5.2",
    ... 
},
Run Code Online (Sandbox Code Playgroud)