Tuesday, March 14, 2017

Laravel v5.4.15 on Heroku: all routes but / stopped working

I want to say that I googled this and read a LOT of posts on similar issues, however, in reading what I've found, I haven't found any posts that quite apply to this situation.

I have my code set in a dropbox sync'd folder with Heroku. (apache cedar-14) I did a a few updates today and something has gone awry and I need help tracking it down.

The symptoms: on my domain, only the / route resolves. All else result in a 404

The same code set, however, running via a 'php artisan serve' session, is serving everything up just fine.

I did notice, however, that running a 'php artisan route:list' results in these errors:

    PHP Fatal error:  Access level to
    App\Http\Controllers\Auth\RegisterController::create() must be public (as in 
    class App\Http\Controllers\Controller) in 
    \app\Http\Controllers\Auth\RegisterController.php on line 10

    [2017-03-12 19:58:31] local.ERROR: 
    Symfony\Component\Debug\Exception\FatalErrorException: Access level to 
    App\Http\Controllers\Auth\RegisterController::create() must be public 
    (as in class App\Http\Controllers\Controller) in 
    \app\Http\Controllers\Auth\RegisterController.php:10 Stack trace: #0 {main}

    [Symfony\Component\Debug\Exception\FatalErrorException] Access level to 
    App\Http\Controllers\Auth\RegisterController::create() must be public 
    (as in class App\Http\Controllers\Controller)

I also noticed that if I comment out Auth::routes() in web.php, 'php artisan route:list' did not return those errors.

The work I did today on the site included creating and updating views and controller files. I did only one thing related to auth (LoginController.php change below):

    public function showLoginForm()
    {
        //return view('auth.login');
        return view('v1.public_pages.home-login');
    }

I'm happy to provide more information if you give me a sense of what's needed to diagnose this.

I've been using Laravel for only ~1 month and it's been a steep learning curve.

Two last pieces of information.

1) I made a fresh laravel build and compared files.

I had "extra stuff" in my Controller.php and so I removed most of it because it wasn't necessary. In the process of doing so, I stopped receiving the error messages from 'php artisan route:list' above. All of my routes are listed.

However, the routes still do not work. They return 404 errors.

2) I feared that Dropbox might be the cause so I unlinked it and made a git repository instead. Alas, no change.

Please help! Thanks in advance.



via Phil

Advertisement