【问题标题】:PHP Fatal error: Call to undefined method Illuminate\Foundation\Application::bindShared() in ..Entrust/EntrustServiceProvider.php on line 72PHP 致命错误:在第 72 行的 ..Entrust/EntrustServiceProvider.php 中调用未定义的方法 Illuminate\Foundation\Application::bindShared()
【发布时间】:2016-04-21 23:57:47
【问题描述】:

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

php artisan vendor:publish

我收到此错误:

PHP 致命错误:“在 ../vendor/zizaco/entrust/src/Entrust/EntrustServiceProvider.php 第 72 行调用未定义的方法 Illuminate\Foundation\Application::bindShared()”

谁能帮帮我?

【问题讨论】:

  • 修复它。我执行了composer updatecomposer dump-autoload -o

标签: laravel laravel-5 laravel-5.1 laravel-5.2 entrust


【解决方案1】:

只需将 bindShared() 替换为 singleton()

【讨论】:

  • 在哪个文件中更改?
  • @AhmedRaza 在此文件中:vendor/illuminate/html/HtmlServiceProvider.php 只需将 bindShared() 更改为 singleton()
【解决方案2】:

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

如果您查看this commit,您会设置它已在不久前更改。

【讨论】:

    【解决方案3】:

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

    供应商/illuminate/html/HtmlServiceProvider.php

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

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

    在线编号:36 和 40

    【讨论】:

    • 我使用的是 laravel 5.2,我找不到 vendor/illuminate/html/HtmlServiceProvider.php,你知道这个设置在哪里吗?
    猜你喜欢
    • 2015-09-23
    • 2017-08-24
    • 2017-02-19
    • 2014-04-17
    • 2016-04-17
    • 2018-06-25
    • 1970-01-01
    • 2023-04-01
    • 1970-01-01
    相关资源
    最近更新 更多