Неустранимая ошибка PHP: вызов неопределенного метода Illuminate\Foundation\Application::bindShared() в ..Entrust/EntrustServiceProvider.php в строке 72

Я только что установил Entrust, чтобы добавить разрешения на основе ролей в свое приложение на основе Laravel 5.2. Но когда я пытаюсь выполнить

php artisan vendor:publish

Я получаю эту ошибку:

Неустранимая ошибка PHP: «Вызов неопределенного метода Illuminate\Foundation\Application::bindShared() в ../vendor/zizaco/entrust/src/Entrust/EntrustServiceProvider.php в строке 72»

Может кто-нибудь мне помочь?


person devma    schedule 16.01.2016    source источник
comment
Чтобы исправить это, я выполнил composer update и composer dump-autoload -o   -  person Sampath Gunasekara    schedule 19.02.2018


Ответы (3)


Вы используете предыдущую версию, несовместимую с Laravel 5.1.+. Убедитесь, что вы используете последнюю версию, или запустите composer update zizaco/entrust, чтобы обновить этот пакет до последней версии, определенной в composer.json.

Если вы посмотрите на эту фиксацию, вы увидите, что она уже была изменена некоторое время назад.

person Marcin Nabiałek    schedule 16.01.2016

просто замените bindShared() на singleton()

person Raihan Mahmud    schedule 16.01.2016
comment
в каком файле это изменить? - person Ahmed Raza; 30.03.2016
comment
@AhmedRaza в этом файле: vendor/illuminate/html/HtmlServiceProvider.php просто измените bindShared() на singleton() - person mostafaznv; 14.05.2016

Я исследовал больше и получил решение, вам нужно только имя функции обновления.

vendor/illuminate/html/HtmlServiceProvider.php

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

To

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

номер строки: 36 и 40

person Rajeev Ranjan    schedule 24.05.2016
comment
Я использую laravel 5.2 и не могу найти vendor/illuminate/html/HtmlServiceProvider.php, вы знаете, где находится этот параметр? - person radren; 17.06.2021