PHP Fatal error: Call to undefined method Illuminate\Foundation\Application::bindShared() in ..Entrust/EntrustServiceProvider.php on line 72

PHP Fatal error: Call to undefined method Illuminate\Foundation\Application::bindShared() in ..Entrust/EntrustServiceProvider.php on line 72

我刚刚安装了 Entrust 以将基于角色的权限添加到我基于 Laravel 5.2 的应用程序中。但是当我尝试执行

php artisan vendor:publish

我收到这个错误:

PHP Fatal error: " Call to undefined method Illuminate\Foundation\Application::bindShared() in ../vendor/zizaco/entrust/src/Entrust/EntrustServiceProvider.php on line 72 "

谁能帮帮我?

您使用的旧版本与 Laravel 5.1.+ 不兼容。确保您使用的是最新版本或 运行 composer update zizaco/entrust 将此包更新到 composer.json

中定义的最新版本

如果您查看 this commit,您将设置它已经更改了一段时间。

只需将 bind Shared() 替换为 singleton()

我进行了更多研究并找到了您只需要更新函数名称的解决方案。

vendor/illuminate/html/HtmlServiceProvider.php

$this->app->bindShared('form', function($app) 

$this->app->singleton('form', function($app)

在线编号:36 和 40