2012-10-24 3 views
0

5.2.17에서 5.3.13로 서버를 업그레이드하면 my $ _SESSION 변수가 더 이상 페이지에서 전달되지 않습니다.

1 페이지에서 $ _SERVER [ "isLoggedIn"] = true로 설정하고 2 페이지에서 테스트 중이지만 모든 $ _SESSION 변수가 설정되지 않은 것을 찾습니다. login.html :

<?php 
session_start(); 
    $_SESSION["isLoggedIn"] = true; 
    $_SESSION['visitorLanguage'] = "en" ; 


    if ($_SESSION["isLoggedIn"] == true){ 
     print "<p> Log in successful. </p>"; 
     print "<script>window.location='index.html? lang=".$_SESSION['visitorLanguage']." '</script>"; 
     } 

?> 

index.html을 :

<? 
session_start(); 
echo "Version: ".phpversion(); 
echo " Session Data: "; 
echo "Is logged in: " . $_SESSION["isLoggedIn"]. "<br/>"; 
echo "Visitor Language: " . $_SESSION["visitorLanguage"]; 
?> 

결과 :

Version: 5.3.13 Session Data: Is logged in: 
Visitor Language 
and in 5.2: 
Version: 5.2.17 Session Data: Is logged in: 1 
Visitor Language: en 
+0

print_r ($ _ SESSION)을 (를) 받고 있습니다. –

+0

print_r ($ _ SESSION)은 빈 배열을 반환합니다. – StarTraX

+0

솔루션을 게시하지 않았습니다. 오늘 대답이 필요했습니다. –

답변

-1

을 다음과 같이

나는 간단한 예를 들어 코드를 삭감했습니다 내가 이해하는 한, .php로 끝나는 이름이없는 페이지는 PHP 프로세서에 전혀 접근해서는 안된다. 5.3에서 작동하지 않는 것보다 5.2에서 작동한다는 것은 더 수수께끼입니다. 즉, 인덱스 페이지 index.php를 만드십시오. 서버에서 index.html을 삭제하십시오 (또한 로컬에서는 다시 업로드하지 않으려 고합니다). 그리고 모든 것이 잘되어야합니다. 귀하의 질문에 대답하기 위해 5.2 설치는 하나의 설치이고 5.3 설치는 다른 설치입니다. 하나는 다른 옵션으로 설정 될 수 있습니다.

+0

Hi Geoff, 아니요. PHP 코드가 .php 확장자를 가진 파일에 있어야한다는 요구 사항은 없습니다. 사실, 당신의 주장은 "..., PHP 프로세서로 가면 안된다 ..."라는 것입니다. 놀랍지 않게도 index.html을 index.php로 변경해도 문제가 해결되지 않았습니다. 확실치 않은 경우 게시하기 전에 실제로 답변을 테스트하는 것이 좋습니다. – StarTraX

+0

서버에서 Starttrax을 테스트하는 방법을 잘 모르시겠습니까? 세션 5.3에서 작업을 중지 할 수있는 방법을 찾지 못했지만 알아낼 때 공유하십시오. –

0

이와 비슷한 문제는 없음 또는 php.ini 파일 또는 세션 변수에 "GPCS"로 설정 슈퍼 전역 배열에 추가되지 않습니다 = request_order을 주석 확인, 약 3 일 저 비용 의뢰.

+0

이제 매우 흥미로 웠습니다. 나는 그것을 줄 것이며 다시보고 할 것이다. PHP 매뉴얼은 request_order가 가질 수있는 값에 대해 다소 모호합니다. 나는 "GPCS"가 Get, Post, Cookies 명령을 호출하지만 "S"를 이해하지 못한다고 추론합니다. 세션 변수에 의존하는 수많은 라이브 애플리케이션을 사용하여 호스트 된 서버에서 실행될 때 테스트하는 것은 약간 까다 롭습니다. 설정 변경을 테스트하기 위해 5.3으로 전환하면 내 사용자가 비활성화됩니다 .-(. – StarTraX

관련 문제