CI 묻고 답하기

제목 enable_profiler(TRUE) 사용 시 어느순간부터 소스가 보이는 현상
글쓴이 사다드 작성시각 2014/06/03 17:34:41
댓글 : 5 추천 : 0 스크랩 : 0 조회수 : 13789   RSS
>> 이전 출력 화면


>>> 현재 출력 화면

<div style="border:1px solid #990000;padding-left:20px;margin:0 0 10px 0;">

<h4>A PHP Error was encountered</h4>

<p>Severity: Warning</p>
<p>Message:  array_shift() expects parameter 1 to be array, null given</p>
<p>Filename: controllers/runreq.php</p>
<p>Line Number: 121</p>

=============================================================================

다음과 같이 컨트롤러 생성자 부분에 설정하고 사용하고 있습니다.
error_reporting(E_ALL);
$this->config->set_item('log_threshold', 4);
$this->output->enable_profiler(TRUE);

처음엔 위와 같이 html 형식으로 잘 나오다 어느순간 아래와 같이 소스가 보이는 현상이 발생중입니다.
혹시 해결 방법을 알수 있을까 하고 질문 올려 봅니다.

 다음글 static 으로만 된 클래스 관련 문의드립니다. (2)
 이전글 네이버와같은 메인폼&로그인을 구현하고싶은데요. (4)

댓글

한대승(불의회상) / 2014/06/03 18:01:33 / 추천 0
html 코드에 xmp 태그가 있는지 확인해 보세요
사다드 / 2014/06/03 18:17:16 / 추천 0
model 에서 쿼리 처리 후 controller에서 print_r(json_encode($returnArray)); 로 화면 출력하는 것 외엔 xmp 태그는 없는 상태 입니다.

print_r(urldecode(json_encode($returnArray)));
혹시 urldecode가 문제인가 싶어서 제거 하였으나 역시나 똑같이 소스형식으로 출력되네요...
 
사다드 / 2014/06/05 09:46:06 / 추천 0
json_encode 가 문제였네요...
json_encode 제거하고 출력하니 html 형식으로 정상 출력 됩니다.

json_encode 사용하면서 정상 출력 하는 방법이 없을까요?
변종원(웅파) / 2014/06/05 10:03:35 / 추천 0
ci core를 수정하거나 하신건 없는지요?

ci RESTful server 구성해서 json으로 뿌리고 있는데 아무 이상없습니다.
사다드 / 2014/06/09 10:40:38 / 추천 0
core 부분은 전혀 수정하지 않았습니다.

혹시나 하고 CI 2.1.4 버전을 새로 받아서 서버에 올려놓은것과 비교해 보았으나
config/autoload, config, database, routes 만 수정 된 상태 입니다.

아래는 결과값을 json_encode 해서 print_r 하는 부분 코드 입니다.

function ResultJson($returnArray)
{
        $isXmlHttpRequest = (isset($_SERVER['HTTP_X_REQUESTED_WITH'])) ? (strtolower($_SERVER['HTTP_X_REQUESTED_WITH']) == 'xmlhttprequest') ? true : false: false;
        ($isXmlHttpRequest) ? header('Content-type: application/json') : header('Content-type: text/plain');
 
        print_r(urldecode(json_encode($returnArray)));
}

PHP 버전은 5.3.3 입니다.