2016-06-18 3 views
-1

서버에 배포 한 후 Laravel 5.1.35 인증이 작동하지 않습니다. 지역 환경에서 잘 작동하는 동안.Laravel 5.1 로컬 환경에서 인증 작업이 제대로 수행되지 않음

기본적으로 로그인 성공은 '/ 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 : /')는 제 가정이 잘못되지 않았으며 잘못된 라인에서 작업하고 있음을 증명했습니다.