CI 묻고 답하기

제목 오라클 oci8_driver.php파일에서 $_escape_char = '"'부분 수정시 무한루프
글쓴이 퐝양 작성시각 2014/08/28 11:58:51
댓글 : 6 추천 : 0 스크랩 : 0 조회수 : 16338   RSS
안녕하세요.

저희가 mysql 에서 오라클로 디비를 바꿔서 사용하려고 하고 있습니다.

SELECT * FROM "smart_sessions" WHERE "session_id" = '----' AND "user_agent" = 'Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/36.0.1985.143 Safari/537.36'

세션에서 에러가 났고(세션값만 지웠습니다. 값자체는 잘 들어가고 있습니다.), 여기 글의 
http://codeigniter-kr.org/qna/view/6213/page/4

이부분을 참고해서, 쌍따옴표를 없애서 오라클에서 테스트 해보니, 오라클에서는 세션이 들어가는 것을 확인하였습니다.

그래서 oci8_driver.php파일에서 $_escape_char = '"'부분의 쌍따옴표를 삭제하였는데, 무한루프가 돕니다.
아예 접속이 안되는건 아닌거 같고, 왜 무한루프를 도는지 잘 모르겠습니다.

저희가 가비아 서버를 서서 로그도 볼수 없는 상황에서, 어떤 예상되는 오류나 수정해야할 방향이 있을가요?
바쁘시겠지만 혹시 도움을 주실수 있으시면, 부탁드립니다.

감사합니다.
 다음글 hook 사용관련... 왜 나만 안되는듯... (7)
 이전글 ci db session 의문점 (2)

댓글

변종원(웅파) / 2014/08/28 13:33:02 / 추천 0
codeigniter log 활성화해서 보세요.
오라클 로그 못보시는건가요? 콘솔 접근이 안되시는 환경인지요?
퐝양 / 2014/08/28 13:35:29 / 추천 0
답변 감사합니다. 코드이그나이터 로그 관련해서 좀 찾아보겠습니다.
콘솔로 접근은 가능한데, db랑 로그 관련해서는 다 막혀있는 상황이어서요.
저희가 웹 호스팅을 사용해서 권한이 없어서 볼수가 없다고 하네요 ㅠㅠ
퐝양 / 2014/08/28 13:57:56 / 추천 0
아 뭔가 오라클쪽문제였던거 같습니다. 너무 감사합니다. 덕분에 코드이그나이터 에러로그 보는법을 배웠습니다. 감사합니다.
퐝양 / 2014/08/28 17:30:51 / 추천 0
db 쿼리를 실행했을때 last_query 로 실행시킨 쿼리를 오라클에 실행하면, 오라클에선 분명히 결과값이 나옵니다.
근데 실질적으로 실행하면, 에러 로그 에러 모두 나오지 않고 결과값만 없이 나옵니다. 세션 값 등은 전부 저장되고 있구요. 뭐가 문제일까요??
한대승(불의회상) / 2014/08/28 17:46:24 / 추천 0
프로파일러도 enable 시켜서 확인해 보세요.
실제 실행 되는 쿼리가 어떤건지..

 
퐝양 / 2014/08/29 10:46:35 / 추천 0
답변 감사합니다. 으악 수정했더니 다 깨져버렸네요~ ㅠㅠ
ㄷㅏ시 올립니다.

  DATABASE:  sc_mgm   QUERIES: 3  (Hide)
0.0047   SELECT *
FROM smart_sessions
WHERE session_id 
=  'c69dbffa92aa7717667a4cb39791a731'
AND user_agent =  'Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/36.0.1985.143 Safari/537.36' 
0.0050   SELECT FROM (select inner_query.*, rownum rnum FROM (SELECT *
FROM member
WHERE user_id 
=  '-'
AND user_pw =  '-'
) inner_query WHERE rownum 2) 
0.0043   SELECT FROM (select inner_query.*, rownum rnum FROM (SELECT *
FROM member
WHERE user_id 
=  '-'
AND user_pw =  '-'
) inner_query WHERE rownum 2) 
<span 119,="" 0)"="">
이렇게 나오면 이 쿼리가 실행되는거 확인 되는거 아닌가요???
근데 이대로 오라클 토드에 입력해서 결과갑을 얻으면 결과값이 나옵니다. 헌데, 웹상에서 실행시키면 데이터는 못얻어 옵니다. 
왜 그런걸까요??? 바쁘실텐데 자구 기초적인걸 묻는거 아닌가 싶어서 죄송스럽네요 ㅠㅠ 부탁 드립니다.