09년도 euckr G4빌더를 16년도 utf8 G5빌더로 변환하려고 하는데...

09년도 euckr G4빌더를 16년도 utf8 G5빌더로 변환하려고 하는데...

QA

09년도 euckr G4빌더를 16년도 utf8 G5빌더로 변환하려고 하는데...

본문

 

의뢰자 정보 기존서버 새서버






그누보드 버전 그누보드4 - 4.31.11 (09.07.14)그누보드5 최신 버전
서버 PHP 버전 php 4.4.6 php 5.525
서버 DB 버전5.5.47-MariaDB MySQL 5.5
서버 언어셋 EUC-KR UTF-8

 

 

혹시, 주의사항이나 신경쓸 거 있으면 조언 부탁드립니다.

 

현재, 그누보드4 - 4.31.11 (09.07.14) 원본을 새 서버에 설치 후 로그인하려 할 경우, 

아래 에러가 출려됩니다.  (아마도, 자료를 이전해 복원해도 같은 에러가 날 듯 싶네요.)

 

 

Fatal error: Call to undefined function session_register() in /home1/사용자/hz/lib/common.lib.php on line 91 

 

 

작업 전 혹시 놓친 부분이 없나 확인 차 문의드리는 것이니,
걍 부담갖지 마시고 답변해 주세요. ^^

 

 

이 질문에 댓글 쓰기 :

답변 3

session_register() 함수는 PHP 5.3.0부터 사용하지 않는 것으로 알고 있습니다.

http://php.net/manual/kr/function.session-register.php

 

그런데 그누보드4 - 4.31.11 의 set_session() 함수에 포함된 session_register() 함수는 실행 전에

최신버전의 그누보드처럼 PHP 버전 비교를 하지 않고 있습니다.​

 

그렇기 때문에 그누보드4 - 4.31.11를 php 5.525 환경에서 ​사용할 경우 필연적으로 발생하는 에러입니다.

에러를 해결하려면 그누보드4 최신버전을 사용하시든지,

아니면 common.lib.php 파일의 set_session() 함수를 다음과 같이 수정하셔야 합니다.


// 세션변수 생성
function set_session($session_name, $value)
{
    if (PHP_VERSION < '5.3.0')  // <-- 이 부분 추가함
        session_register($session_name);
    // PHP 버전별 차이를 없애기 위한 방법
    $$session_name = $_SESSION["$session_name"] = $value;
}
 

제 기억상 php 버전 문제인듯 한데

common.lib.php

@session_register($session_name); 요거 주석처리 하면 되었던 걸로 기억합니다. 

 

// 세션변수 생성 

function set_session($session_name, $value)

{

    // @session_register($session_name);

    // PHP 버전별 차이를 없애기 위한 방법

    $$session_name = $_SESSION["$session_name"] = $value;

}

답변해주신 두 분 모두 감사합니다. 

 

사실, 이미 그 부분은 최신 버전 lib 폴더로 덮어 씌워 해결이 된 상태 ^^;

 

걍 한 분만 답변 달리면 우선 채택해드릴려고 기다렸는데, 두분이나..ㅋ

 

좀 더 정확한 설명을 해주셔서 선우 님 채택했어요. 

 

그림자밟기 님이 열심히 먼저 답변주셨는데, 송구스럽습니다. ㅜㅜ

답변을 작성하시기 전에 로그인 해주세요.
전체 123,532 | RSS
QA 내용 검색

회원로그인

(주)에스아이알소프트 / 대표:홍석명 / (06211) 서울특별시 강남구 역삼동 707-34 한신인터밸리24 서관 1404호 / E-Mail: admin@sir.kr
사업자등록번호: 217-81-36347 / 통신판매업신고번호:2014-서울강남-02098호 / 개인정보보호책임자:김민섭(minsup@sir.kr)
© SIRSOFT