서브도메인의 하위 페이지에서는 mb_id가 출력되지 않아요.ㅠㅠ
본문
4개의 파일에서 아래 똑같은 소스로 실행을 했을때요.
<?
include_once("$_SERVER[DOCUMENT_ROOT]/_common.php");
echo $member[mb_id];
?>
/www/test/a.php (www.test.com/a.php)
/www/test/bbs/b.php (www.test.com/bbs/b.php)
/www/test/m/a.php (m.test.com/a.php)
위 3개는 정상적으로 mb_id가 출력이 되는데요.
아래 파일만.. 즉, /m/bbs/ 하위 페이지만 mb_id값이 출력되지 않아요.ㅠㅠ
이것 말고도. /m/test/, /m/adm/, /m/inc/ 등 하위 디렉토리 밑에 있는 페이지들은 전부 안되요.
/www/test/m/bbs/b.php (m.test.com/bbs/b.php)
어디를 살펴보면 될런지요?
모든 파일이 동일한 스크립트로 되있어요.ㅜㅜ
그리고 익스플로러에서만 그렇구요.
웨일이나 크롬에서는
/www/test/m/a.php (m.test.com/a.php)
/www/test/m/bbs/b.php (m.test.com/bbs/b.php)
둘다 출력이 되지 않아요.
ㅠㅠ
답변 3
include_once("$_SERVER[DOCUMENT_ROOT]/_common.php");
_common.php 는 보통 아래와 같이 경로를 지정하는데요
<?php
include_once('./common.php');
?>
m 디렉토리가 따로 있다면
한번 더 안으로 들어갔기 때문에 ./common.php를 못찾는거 같습니다.
m 디렉토리 안에 _common.php 파일 생성하고
내용을 이렇게 적고
<?php
include_once('../common.php');
?>
m/a.php 파일에서는 이렇게 인클루드 해보세요.
include_once("./_common.php");
서버에서 처리되는 코드이기 때문에 웹브라우저와는 상관이 없을 것으로 보이는데
브라우저에 따라 결과가 달라진다니 이상합니다.
일단은 $_SERVER[DOCUMENT_ROOT] 이것 대신 다음으로 바꿔 시도해 보시죠.
dirname(__FILE__)
해결했습니다~
common.php 파일에
session_save_path("$g4[path]/data/session");
이부분의 경로를 절대경로로 지정해주면 되는 문제였습니다~!!
답변 주셔서 감사합니다.