Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

How can I use sentry with laravel 5?

I have tried installing sentry in laravel 5 but it doesn't work. I would like to know if anyone has done it and how to do it.

Update: I used the instructions for Laravel 4.

like image 277
Ogie Avatar asked Feb 16 '15 09:02

Ogie


2 Answers

I have this working.

  1. There is no official support right now for Sentry in L5. They state this right on their website. They are working on it however.

  2. Add the following to your composer.json file in the require section.

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

Add the following to the autoload section.

"app/Http/Controllers",

It should look something like:

"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. (Presuming linux with no aliases) Run php composer.phar dump-autoload then php composer.phar update

  2. Follow the instructions on the following page to convert your files from 4.2 to 5.0: http://laravel.com/docs/master/upgrade#upgrade-5.0

  3. If you are using HTML Facade for FORMS then change {{{ }}} or {{ }} for the FORM's to {!! !!} because L5 escapes all output from {{{ }}} and {{ }}. If you want raw output you must use {!! !!}.

  4. When you move your redirect check to the boot method as per the instructions in #4 then add the following to the top of the RouteServiceProvider.php

    use Cartalyst\Sentry\Facades\Laravel\Sentry;

The boot method should look something like:

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');
            }
        });

        //
    }

UPDATE 02-26-15

  1. Do not run the command php artisan optimize as it will break sentry. I could not figure out what was wrong after I ran this but thought it probably has to be with the compiled.php file so I ran php artisan optimize --force and that fixed whatever the issue was.

Hope it helps.

like image 69
scrfix Avatar answered Nov 13 '22 20:11

scrfix


I haven't personally installed it, but I know it's compatible. https://medium.com/@Cartalyst/laravel-5-support-4c11e01c3337

The installation instructions do not have specific Laravel5 information though it should be identical to L4 pending you pull in the correct branch. Assuming you are using composer you can do this by requiring "cartalyst/sentry": "dev-feature/laravel-5" in your composer.json.

Follow the rest of the L4 installation (add to providers and aliases array) and information except remember app.php is no longer in app/config/app.php but in config/app.php

If things are still not working for you, be sure to update your question with at least some information...

like image 2
Jeremy Schaffer Avatar answered Nov 13 '22 21:11

Jeremy Schaffer