2016-06-18 47 views
-1

Laravel 5.1.35認證在服務器上部署後無法使用。雖然在當地的環境,它的工作很好。Laravel 5.1 Auth不在服務器上工作,而在本地環境中正常工作

由於默認成功登錄重定向到'/ home'並且在/ home路由處理程序中Auth :: check()返回false。

Route::get('/home', function() { 
    var_dump(Auth::user()); 
}); 

上面的代碼打印bool(false);

擊潰代碼:

Route::get('/logout', 'Auth\[email protected]'); 
Route::get('/login', 'Auth\[email protected]'); 
Route::get('/home', function() { 
    var_dump(Auth::user()); 
}); 

Route::post('auth/login', 'Auth\[email protected]'); 
Route::get('/login/{param}', 'Auth\[email protected]'); 
Route::get('/register', 'Auth\[email protected]'); 
Route::get('/signup', 'Auth\[email protected]'); 
Route::post('/auth/stepOne', 'Auth\[email protected]'); 
Route::post('/auth/stepTwo', 'Auth\[email protected]'); 
Route::post('/auth/stepTwoBrand', 'Auth\[email protected]'); 
Route::post('/auth/register', 'Auth\[email protected]'); 

回答

0

實際的問題是PHP的開始標記前一個空行。

我使用下面的核心php函數來重定向,而不是從控制器返回視圖文件或代替使用laravel riderect。

header('Location: /'); 

它打印出空白行的實際文件。刪除此行解決了我的問題。

我的代碼庫中有成千上萬的文件。我的假設是,我已經嘗試了不同的腳本在任何文件的開頭找到這樣的空行,並且沒有像這些腳本結果那樣的文件。我認爲我的任何文件都沒有空白行。但標題('Location:/')證明我的假設沒有錯,而且我正在處理錯誤的行。

相關問題