首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >安装Laravel spatie/ ErrorException后获取权限

安装Laravel spatie/ ErrorException后获取权限
EN

Stack Overflow用户
提问于 2020-02-12 18:44:42
回答 1查看 745关注 0票数 0

我正在尝试安装spatie/laravel-permission包,以帮助管理我在应用程序中的角色和权限。我一直遇到以下问题。根据文档,要安装Laravel permission,请运行以下命令

代码语言:javascript
复制
composer require spatie/laravel-permission

然而,当我这样做的时候,我得到了这个错误:

代码语言:javascript
复制
> @php artisan package:discover --ansi

   ErrorException  : Trying to access array offset on value of type null

  at /home/anto/encomm/projects/vendor/spatie/laravel-permission/src/PermissionServiceProvider.php:61
    57|     protected function registerModelBindings()
    58|     {
    59|         $config = $this->app->config['permission.models'];
    60| 
  > 61|         $this->app->bind(PermissionContract::class, $config['permission']);
    62|         $this->app->bind(RoleContract::class, $config['role']);
    63|     }
    64| 
    65|     protected function registerBladeExtensions()

  Exception trace:

  1   Illuminate\Foundation\Bootstrap\HandleExceptions::handleError()
      /home/anto/encomm/projects/vendor/spatie/laravel-permission/src/PermissionServiceProvider.php:61

  2   Spatie\Permission\PermissionServiceProvider::registerModelBindings()
      /home/anto/encomm/projects/vendor/spatie/laravel-permission/src/PermissionServiceProvider.php:36

  Please use the argument -v to see more details.
Script @php artisan package:discover --ansi handling the post-autoload-dump event returned with error code 1

Installation failed, reverting ./composer.json to its original content.

以下是我的composer.json文件的内容:

代码语言:javascript
复制
    "name": "laravel/laravel",
    "type": "project",
    "description": "The Laravel Framework.",
    "keywords": [
        "framework",
        "laravel"
    ],
    "license": "MIT",
    "require": {
        "php": "^7.4",
        "fideloper/proxy": "^4.0",
        "laravel/framework": "^6.2",
        "laravel/passport": "^8.2",
        "laravel/tinker": "^2.0",
        "laravel/ui": "^1.1",
        "owen-it/laravel-auditing": "^9.3",
        "sudiptpa/guid": "^1.0",
        "unisharp/laravel-filemanager": "^2.0"
    },
    "require-dev": {
        "facade/ignition": "^1.4",
        "fzaninotto/faker": "^1.4",
        "mockery/mockery": "^1.0",
        "nunomaduro/collision": "^3.0",
        "phpunit/phpunit": "^8.0"
    },
    "config": {
        "optimize-autoloader": true,
        "preferred-install": "dist",
        "sort-packages": true
    },
    "extra": {
        "laravel": {
            "dont-discover": []
        }
    },
    "autoload": {
        "psr-4": {
            "App\\": "app/"
        },
        "classmap": [
            "database/seeds",
            "database/factories"
        ]
    },
    "autoload-dev": {
        "psr-4": {
            "Tests\\": "tests/"
        }
    },
    "minimum-stability": "dev",
    "prefer-stable": true,
    "scripts": {
        "post-autoload-dump": [
            "Illuminate\\Foundation\\ComposerScripts::postAutoloadDump",
            "@php artisan package:discover --ansi"
        ],
        "post-root-package-install": [
            "@php -r \"file_exists('.env') || copy('.env.example', '.env');\""
        ],
        "post-create-project-cmd": [
            "@php artisan key:generate --ansi"
        ]
    }
}
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-02-21 12:56:09

在运行第一个composer require spatie/laravel-permission语句之后,您需要对文件vendor/spatie/laravel-permission/src/PermissionServiceProvider.php进行一些更改

这是第61/62行的实际代码:

代码语言:javascript
复制
$this->app->bind(PermissionContract::class, $config['permission']);
$this->app->bind(PermissionContract::class, $config['role']);

需要使用以下命令进行更改:

代码语言:javascript
复制
$this->app->bind(PermissionContract::class, isset($config['permission']));
$this->app->bind(PermissionContract::class, isset($config['role']));

更改之后,再次运行composer require spatie/laravel-permission,仅此而已。在PHP的最新版本中,必须使用isset():检查变量是否为null

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/60186526

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档