2009-07-14 3 views
0

cakephp의 Session-> write 메소드에 문제가 있습니다.cakephp Session-> 리눅스에서 쓰기 문제

$ _SESSION [ '..']과 같은 값을 설정하면 다시 읽을 수 있습니다. 하지만 write 메소드를 사용하면 작동하지 않습니다.

내 문제는 여기로 동일합니다 http://www.nabble.com/Session-problem-td16684956.html

동일한 코드 창에서 작업했지만, 난이 리눅스로 이동 후 작동하지 않습니다.

모든 사용 권한 문제가 그 원인일까요? (하지만 나는 케이크 응용 프로그램 디렉토리에 대한 rw 권한을 완전히 부여했습니다).

코드 샘플 : 링크에서 : http://www.nabble.com/Session-problem-td16684956.html

  • 구성 : 쓰기 ('Session.save', 'PHP');
  • Configure :: write ('Session.cookie', 'CAKEPHP');
  • Configure :: write ('Session.start', true);
  • Configure :: write ('Session.checkAgent', false);
  • Configure :: write ('Security.level', 'medium');

케이크 버전 : 1.2.3.8166

+0

코드 샘플 및 세션 구성은보기 좋을 것입니다 .. CakePHP 버전도 있습니다. –

+0

코드 샘플 : 링크와 동일합니다 : http://www.nabble.com/Session-problem-td16684956.html Configure :: write ('Session.save', 'php'); Configure :: write ('Session.cookie', 'CAKEPHP'); Configure :: write ('Session.start', true); Configure :: write ('Session.checkAgent', false); Configure :: write ('Security.level', 'medium'); 케이크 버전 : 1.2.3.8166 – Prabu

답변

2

일부 단계는 그것을 보장하는 것 없습니다 당신이 :

  • 분명히 당신의/응용 프로그램/tmp를
  • 검사에서 캐시와 다시 확인 당신의/응용 프로그램/tmp는 재귀 적으로 쓰기가 가능합니다 (내부의 모든 폴더에 대해 drwxrwxrwx를 의미합니다)
  • Firebug을 사용하여 세션 쿠키를 확인하십시오. 아마도 무언가 잘못되었습니다.

마지막으로, session persistence을 데이터베이스 (Session.save 참조)로 옮기려고 시도하면됩니다. 그런 식으로 테스트하면 원하는 것을 알 수 없습니다.

이 모든 것을 시도해보십시오.

-1

Prabu,

내가 구성 :: 쓰기를 의심하는 동안() 호출은 때때로 제대로 세션 정보를 설정합니다 (적어도 보인다 좋아 일)에 CakeWay 일명 케이크 규칙 ()는 세션 도우미를 사용하는 것입니다.나는 이것이 모든 Cake 컨트롤러에 기본적으로 포함되어 있다고 믿는다. 그렇지 않으면, 당신은 항상 같은 컨트롤러를 선언 할 수

class UsersController extends AppController { 
... 
var $helpers = array('Session', ...) 
... 
} 

을 그런 다음 세션에 정보를 기록 할 때, 단지 전화 :

$this->Session->write('checkAgent', false); 

값을 다시 읽으려면 사용 :

세션 도우미에 대한 자세한 내용은
$this->Session->read('checkAgent'); 

, http://book.cakephp.org/view/484/Session

+2

세션 구성 요소와 세션 도우미가 혼란 스럽습니다. 컨트롤러에서는 세션 구성 요소가 사용되지만보기에서는 세션 도우미가 사용됩니다. 세션 구성 요소와 세션 도우미가 모두 자동으로로드되므로 정의 할 필요가 없습니다. – dhofstet

0

당신은 SHO @ CakeBook 체크 아웃 uld 또한 Cache :: read 및 Cache :: write를 사용하려고 시도합니다.

if (($session = Cache::read('session')) === false) 
{ 
    $session = 'some values'; 
    Cache::write('session', $session); 
} 

먼저 Cache :: read를 초기화하려고 시도합니다. false를 반환하면 Cache :: write 이 세션에 값을 저장하는 데 참여합니다.