2012-09-29 2 views
0

Cakephp를 사용하여 개발 한 응용 프로그램이 있습니다. 세션은 로컬 호스트에서도 잘 작동합니다. 세션을 설정하고 localhost에서 읽을 수 있음을 알았습니다. php.ini에 정의 된 sesssion_save_path로 생성 된 세션 파일을 볼 수도 있습니다.cakephp 세션이 공유 호스트 (godaddy, ICDsoft)에서 작동하지 않습니다.

먼저 공유 호스트를 테스트하기 위해 작은 세션 체크 PHP 파일을 작성했습니다. 공유 호스트가 세션에 아무런 문제가 없음을 100 % 확신합니다.

그러나 세션이 공유 호스트에서 작동하지 않는 것처럼 보입니다. 세션을 설정할 수 있지만 호스트에서 생성 된 세션 파일을 볼 수는 있지만 새로 고칠 때 수행 할 작업은 다음과 같습니다. $ this-> Session-> read ("User.id"); $ this-> Session-> check ("User.id");

아무 것도 없습니다.

어떻게해야합니까? cakephp 캐시로 할 일이 있습니까?

답변

2

먼저 우리는 CakePHP 전문가가 아니므로 최선의 답변을 드릴 수는 없습니다.

우리는 다음 예제 스크립트/컨트롤러와 함께, 우리의 공유 호스팅 환경에 CakePHP는 2.2에서 세션을 테스트 :

public function index() {//The default action for a CakePHP controller 
    CakeSession::start(); 

    echo 'Hello world.<hr/>'; 

    // test that the session actually works 
    $counter = 0; 
    if ($this->Session->check('counter')) { 
     $counter = $this->Session->read('counter'); 
    } else { 
     echo 'Creating session' . PHP_EOL; 
    } 

    ++$counter; 

    $this->Session->write('counter', $counter); 

    echo "You were here {$counter} time(s)\n\n"; 
    var_dump($this->Session->read('counter')); 
    } 

세션 데이터를 저장하고 제대로 읽은 것 같다. ICDSoft 서버에 CakePHP 설치 문제가 계속 발생하면 지원 팀에 문의하십시오. 우리는 항상 적절한 디버깅 지원을 제공하지 못할 수도 있지만 항상 시도하고 있습니다.

안부,

ICDSoft 팀

0

CakePHP의 쿠키에서 피크를 타고는 세션 ID는 계속 변화 여부를 확인하기 위해서는 브라우저에 할당된다. 그럴 경우 세션이 지속되지 않습니다.

둘째로 $_SESSION 수퍼 글로벌이 사용 가능한지 여부를 확인하는 것이 좋습니다.

관련 문제