포럼
이게 버그인지 설정문제인지..좀 봐주세요. 외부페이지에서 <? 이 <!--로 치환되버리네요..
2012.10.02 13:59
안녕하세요. XE 초짜 유저입니다..
다름이 아니고,, 이상한 현상이 발생하는걸 해결하지 못하겠는데..
이게 버그인건지, 서버환경때문인지, 설정문제인지 파악이 잘 안되어서요..
현재 셋팅된 상태는
Windows 2008 Server + IIS 7.0 (PHP 5.3) + MS-SQL2008 에 셋팅해서 XE를 설치했습니다.
헌데 현재 윈도서버에 옮기기 전 테스트 서버(도미노호스팅 무료)환경에서는 이런 문제가 발생하지 않았었는데요..
현상을 아래 캡쳐 이미지로 확인하면 이렇습니다.
모듈 형식은 외부페이지고, 제가 임의로 작성한 php 파일을 넣고 확인해 봅니다.
원래 소스는 저렇지 않은데 희안하게 <? 를 <!--? 로 치환을 해버리고
$oContext->init(); 이부분을 $oContext---> "init(); 으로 치환을 해버려서
중요한 헤더부분이 php구문으로 인식되지 않고 주석+텍스트로 처리가 된것으로 확인이 됩니다..
원래 제가 작성한 php파일의 상단 내용은 이렇습니다.
<? header('Content-Type: text/html; charset= utf-8'); define('__ZBXE__', true); //***** xe의 로그인 정보 연동해 가져오기 require_once('./config/config.inc.php'); //경로 잘 잡을 것 $oContext = &Context::getInstance(); $oContext->init(); $lang_type = Context::get('lang_type'); $logged_info = Context::get('logged_info'); $no = $logged_info->member_srl; $id = $logged_info->user_id; $phone = $logged_info->phonenum; // 로그인 되어있지 않으면 로그인 페이지로 튕겨낸다. if($no == '') { header("Location: /login"); } //***** xe의 DB정보 연동해 가져오기 require('./files/config/db.config.php'); //경로 잘 잡을 것 // XE Core v1.5 DB setting $db_host = $db_info->master_db['db_hostname']; $db_user = $db_info->master_db['db_userid']; $db_password = $db_info->master_db['db_password']; $db_database = $db_info->master_db['db_database']; .....
지금 제작중인 사이트 이전에 xe로 처음 만든 사이트에서는 모든 페이지를 외부페이지로 만들어서 썼었기 때문에
위 코드와 같은 방식으로 문제없이 잘 사용했었습니다.
약간 다른 문제이긴 하지만 http://www.xpressengine.com/index.php?mid=userForum&document_srl=20663497 .
그러니까 정규표현식에 의한 파싱문제에 관한 글을 봤는데요,,
이렇게 외부페이지로 불러온 페이지상의 <? ?> php코드를 정상적으로 인식하지 못하는 문제가 윈도우 서버라서 발생하는 문제일까요?
아니면 xe 템플릿이라던지.... 이런 치환과 관련된 기능상의 설정이라던지 버그라고 봐야 할까요?
지금 이 현상이 버그인건지,,원래 그런건지를 판단할만큼 XE를 많이 사용해 보지 않아서.. 이 포럼에 글을 올립니다..
댓글 2
-
Lotiony
2012.10.02 15:36
앜! 감사합니다 (__)
php.ini에서 Short Open Tag 값이 Off로 되어있네요.. On으로 변경해주니까 잘 됩니다..
가상서버호스팅에다 직접 셋팅해서 하려니 아주..모르는것 투성이네요
간단명료하게 해결해 주셔서 감사합니다.!
php short tag 확인