Laravel 7 Auth не работает на размещенном сайте

#php #mysql #laravel #vue.js

#php #mysql #laravel #vue.js

Вопрос:

Поэтому я пытаюсь развернуть сайт Laravel на bluehost, однако после успешного входа в систему он должен перенаправить на ‘/ home’ и остановиться. Вместо этого он пытается перенаправить на ‘/ home’, а затем перенаправляет на ‘/ login’. тот же код, запущенный на localhost с той же базой данных, работает нормально. Другие операции с базой данных работают нормально.

В основном промежуточное программное обеспечение аутентификации по умолчанию, похоже, каким-то образом сломано.

Я использовал встроенную в laravel аутентификацию, чтобы выполнить аутентификацию. вот живой сайт:

LoginController.php

 <?php

namespace AppHttpControllersAuth;

use AppHttpControllersController;
use IlluminateFoundationAuthAuthenticatesUsers;

class LoginController extends Controller
{

    use AuthenticatesUsers;

    /**
     * Where to redirect users after login.
     *
     * @var string
     */
    protected $redirectTo = '/home';

    /**
     * Create a new controller instance.
     *
     * @return void
     */
    public function __construct()
    {
        $this->middleware('guest')->except('logout');
    }
}
  

web.php

 <?php

use IlluminateSupportFacadesRoute;
use IlluminateSupportFacadesAuth;

Route::get('/', 'WelcomeController@index')->name('welcome');

Auth::routes();
// Home
Route::get('/home', 'HomeController@index')->name('home');

//Listings
Route::get('/listings/search', 'ListingController@search')->name('search-listings');

Route::get('/listings/delete/{listing}', 'ListingController@destroy')->name('listing-delete');

Route::resource('listings', 'ListingController');


Route::group(['prefix' => 'messages'], function () {
  Route::get('/', ['as' => 'messages', 'uses' => 'MessageController@index']);
  Route::get('create', ['as' => 'messages.create', 'uses' => 'MessageController@create']);
  Route::post('/', ['as' => 'messages.store', 'uses' => 'MessageController@store']);
  Route::get('{id}', ['as' => 'messages.show', 'uses' => 'MessageController@show']);
  Route::put('/', ['as' => 'messages.update', 'uses' => 'MessageController@update']);
  Route::delete('/', ['as' => 'messages.action', 'uses' => 'MessageController@action']);
});
  

Комментарии:

1. Работает. Вы только что добавили что-то в свой AppHttpControllersLoginController.php . Откройте этот файл и проверьте, что вы возвращаете null

2. Работает на реальном сайте? Вы можете войти в систему? Мой LoginController.php не возвращает никаких нулевых значений. Любые дальнейшие объяснения были бы замечательными. Я действительно застрял на этом.

3. О, извините, я случайно оставил dd(). Взгляните еще раз на поведение, которое я описывал выше. Thanks @АлександрИнженер

4. можете ли вы разместить свой loginControler код.? и маршрутизирует код

5. добавлено. @KamleshPaul

Ответ №1:

Так это, выходит, не было новой строки перед <?php in one of my files in app/config !!

Чуть не свел меня с ума. Нормально работал на localhost, но не на сервере. Если вы столкнулись с этой проблемой, проверьте свои файлы .php на наличие новых строк в начале файла.

Ответ №2:

Для меня сработало удаление файлов в папке / bootstrap / cache, кроме .gitignore, после чего была запущена команда composer dumpautoload