2013-05-25 3 views
0

CakePHP의 이상한 문제에 직면하고 있습니다. 내 웹 사이트 관리 (/ users/login)에 로그인하려고하면 사용자 이름과 비밀번호를 입력하고 잘 작동합니다. 하지만 원격 서버에 업로드 한 후 동일한 코드 인 sambe 데이터베이스는 사용자가 로그인 할 수 없도록합니다. 사용자 이름/암호가 유효하지 않다고 말하면서 몇 시간 후에 무슨 일이 있었는지 알아 내려고 노력했습니다.

object(CakeRequest) { 
    params => array(
     'plugin' => null, 
     'controller' => 'users', 
     'action' => 'login', 
     'named' => array(), 
     'pass' => array() 
    ) 
    data => array() 
    query => array() 
    url => 'users/login/' 
    base => '' 
    webroot => '/' 
    here => '/users/login/' 
} 
: FormAuthenticate.php에서 인증합니다 방법 내부 변수 $ 요청는 원격 서버에 같이오고, 기본적으로 비어 있습니다

그러나, 같은 페이지가 실행 로컬 반환

object(CakeRequest) { 
    params => array(
     'plugin' => null, 
     'controller' => 'users', 
     'action' => 'login', 
     'named' => array(), 
     'pass' => array() 
    ) 
    data => array(
     'User' => array(
      'password' => '*****', 
      'username' => 'admin' 
     ) 
    ) 
    query => array() 
    url => 'users/login/' 
    base => '' 
    webroot => '/' 
    here => '/users/login/' 
} 

나는이 원인이 될 수있는 것을 찾기 위해 노력하지만, 덕분에 여전히 운, 내가 CakePHP의 새로운 해요 그래서 내가 뭔가를 누락 될 수 있습니다! 나는 개발자를 사용하여 "수"를 "포스트"에서 양식 방법을 변경했습니다 :


업데이트 # 1, 여기에 업데이트 # 2


내 UserController :: 로그인 방법

public function login() { 
     $this->layout = 'default_admin'; 
     if ($this->request->is('post')) { 
      if ($this->Auth->login()) { 
       $this->redirect($this->Auth->redirect()); 
      } else { 
       $this->Session->setFlash(__('Invalid username or password, try again')); 
      } 
     } 
    } 
입니다 Chrome에서 도구를 누른 다음 UserController :: login()을 변경했습니다. ... if ($ this-> request-> ('get')) { ... 그리고 나서 작동했지만 "post"메서드로 작업 할 필요가 있음 = \

+2

'UsersController :: login()'메소드를 우리와 공유 할 수 있습니까? – Jelmer

+0

@ Jelmer 방금 전에이 방법으로 내 질문을 업데이트했습니다. –

답변

0

서버를 다시 시작해야하는 것으로 나타났습니다. 나는 htaccess로 파일에 대한 파일 업로드 컴포넌트를 테스트하기 위해이 두 라인을 포함 시켰습니다 :

php_value로의이 upload_max_filesize 9999999999M

전술 한 바와 같이이 이상한 행동을 시작 9999999999M 그런

php_value로의 post_max_size을, 그래서 서버를 다시 시작하기로 결정했는데 다음과 같은 오류 메시지가 나타납니다.

"PHP 경고 : POST Content-Length of XXX bytes exce EDS 라인 0에 알 수없는에서 -XXX 바이트의 한계 9999999999M "나는 파일 크기 함께 할 수있는 뭔가를 가지고 본을 인터넷 검색을

그래서 난에서 값을 변경하기로 결정" "을" " 서버를 다시 시작하면 모든 것이 잘 작동합니다.

신참 같은 실수로 저는 PHP와 Cake을 처음 접했고 새 파일을 업로드 할 때마다 서버를 다시 시작할 필요가 없다고 생각했습니다.

+0

어떤 파일을 업로드 했습니까? 파일을 업로드 할 때 서버를 다시 시작하지 않아야하기 때문입니다. 적어도, 전에는 그렇게 할 필요가 없었습니다. 아니면 php.ini 파일을 편집하고 있습니까? – Jelmer

+0

@ Jelmer 실제로 php.ini 파일을 편집 했으므로 서버를 다시 시작해야하는 이유가 무엇입니까?그 덕분에 많이 알지 못했습니다 = D –

+1

예. 아파치는 파일을 "다시 읽"필요가 있기 때문이다. 그것은 재시작되지 않을 경우 :) 재로드가 가능할지 모르지만 나는 그것에 대해 확실히 모르겠습니다. – Jelmer

관련 문제