2013-04-15 2 views
0

API 호출 중에 서버에 값을 저장하기 위해 PHP 세션을 사용하고 있습니다.php : 세션 데이터가 손실되었습니다.

여기서 문제는 라이브 서버에서 로컬 서버가 정상적으로 작동하고 세션에 저장소가 없다는 것입니다.

젠토 측면에서 [Script calling API ] -> [Magento Server]

: 일부 값이

  1. 이 API는
  2. API 호출을 설정

    기본적으로 내가 indipendent 스크립트 젠토의 API 호출을 가지고 작업 흐름입니다 세션에서
  3. 관찰자가이 값을 읽으려고 시도합니다.

이상한 점은 로컬 Magento 서버 (DEV의 복사본)에 API 호출을 실행하면 Magento DEV 서버를 호출하는 동안 모든 것이 정상이며 세션 var가 비어 있다는 것입니다.

이 내가 세션 값 설정하고있어 어떻게 내 의심 (이 여기에 잘 작동으로) 내가 코드 부분은 괜찮 꽤 확신하지만

Mage::getSingleton('admin/session')->setApiQuoteId($quoteId); 

은 다음과 같습니다

  1. 을 할 수 나는 브라우저를 사용하여 세션을 사용하지만 서버에 액세스하기 위해 스크립트/API 호출을 사용합니까?
  2. 모든 서버 설정이 위의 기능을 손상시킬 수 있습니까?

로컬 서버 : PHP - 5.4.6

데브 서버 : PHP - 5.2.17

+0

서버 구성에서 'register_globals'을 확인하고 꺼져 있는지 확인하십시오. –

+0

DEV 서버에서 register_globals가 꺼져 있습니다. – WonderLand

+0

session_start()가 있는지 확인하십시오. 당신이 통과하는 모든 단일 파일의 맨 위에 (필수 스크립트는 없지만 현재 사용자 환경의 맨 위에는 session_start()가 있어야합니다). – Jonast92

답변

1

세션은 쿠키로 식별됩니다. 귀하의 api 쿠키를 보유하고 매번 그것을 보낼 수없는 경우, 당신은 새로운 세션이 할당되기 때문에 매번 세션 변수를 풀 것입니다.

+0

mmm 왜 로컬에서 작동합니까? – WonderLand

+0

지역의 브라우저를 사용하고 있습니까? – Xnoise

+0

필자는 항상 브라우저를 사용하여 스크립트 파일 (test.php)을 호출합니다. 난 그 파일 (test.php) 내의 API 서버에 대한 URL을 로컬 Magento 또는 DEV Magento에서 테스트하기 위해 변경합니다. – WonderLand

관련 문제