如何将 sentry 与 laravel 5 一起使用?

How can I use sentry with laravel 5?

我试过在 laravel 5 中安装哨兵,但它不起作用。想知道有没有人做过,怎么做的

更新:我使用了 Laravel 4 的说明。

我没有亲自安装过它,但我知道它是兼容的。 https://medium.com/@Cartalyst/laravel-5-support-4c11e01c3337

安装说明没有具体的 Laravel5 信息,但它应该与 L4 相同,等待您拉入正确的分支。假设您正在使用作曲家,您可以通过在 composer.json.

中要求 "cartalyst/sentry": "dev-feature/laravel-5" 来做到这一点

按照 L4 安装的其余部分(添加到提供程序和别名数组)和信息,但记住 app.php 不再在 app/config/app.php 中,而是在 config/app.php

如果事情仍然不适合您,请务必使用至少一些信息更新您的问题...

我有这个工作。

  1. 目前在 L5 中没有对 Sentry 的官方支持。他们在他们的网站上声明了这一权利。不过他们正在努力。

  2. 将以下内容添加到您的 composer.json 文件的要求部分。

     "cartalyst/sentry": "dev-feature/laravel-5",
     "illuminate/html": "~5.0"
    

将以下内容添加到自动加载部分。

"app/Http/Controllers",

它应该看起来像:

"require": {
    "laravel/framework": "5.0.*",
    "cartalyst/sentry": "dev-feature/laravel-5",
    "illuminate/html": "~5.0"
},
"require-dev": {
    "phpunit/phpunit": "~4.0",
    "phpspec/phpspec": "~2.1"
},
"autoload": {
    "classmap": [
        "database",
        "app/Classes",
        "app/Http/Controllers",
        "app/Models"
  1. (假设 linux 没有别名) 运行 php composer.phar dump-autoload 然后php composer.phar更新

  2. 按照下一页的说明将文件从 4.2 转换为 5.0:http://laravel.com/docs/master/upgrade#upgrade-5.0

  3. 如果您正在使用 HTML Facade for FORMS,则将 {{{ }}} 或 {{ }} 更改为 {!! !!} 因为 L5 转义了 {{{ }}} 和 {{ }} 的所有输出。如果你想要原始输出,你必须使用 {!! !!}.

  4. 当您按照#4 中的说明将重定向检查移动到引导方法时,然后将以下内容添加到 RouteServiceProvider.php

    的顶部

    使用Cartalyst\Sentry\Facades\Laravel\Sentry;

启动方法应该类似于:

public function boot(Router $router)
    {
        parent::boot($router);
        // Check if someone is already logged in
        Route::filter('members_auth',function(){
        //If already logged in go to dashboard or else login
            if(!Sentry::check()){
                return Redirect::to('/login');
            }
        });

        //
    }

更新 02-26-15

  1. 不要运行 命令php artisan optimize 因为它会破坏哨兵。在我 运行 之后我不知道出了什么问题,但认为它可能必须与 compiled.php 文件有关,所以我 运行 php artisan optimize --force 并解决了任何问题。

希望对您有所帮助。

尝试哨兵:https://github.com/rydurham/Sentinel

添加到作曲家

composer require rydurham/sentinel

在config/app.php

'providers' => array(
    ...
    'Sentinel\SentinelServiceProvider', 
    ...
)

在app/Http/Kernel.php

protected $routeMiddleware = [
    // ..
    'sentry.auth' => 'Sentinel\Middleware\SentryAuth',
    'sentry.admin' => 'Sentinel\Middleware\SentryAdminAccess',
];

然后

发布配置:

php artisan sentinel:publish

运行 迁移:

php artisan migrate

运行 播种机:

php artisan db:seed --class=SentinelDatabaseSeeder

在app/routes.php

中添加回家路线
 Route::get('/', array('as' => 'home', function()
{
    return View::make('home');
}));

全部完成,转到我的应用程序。dev/login

bootstarpCms同时使用laravel5和sentry,所以你可以阅读源码学习。这里https://github.com/BootstrapCMS/CMS