XE의 mysqli 환경 가운데서 발생하는 오류를 잡기 위해 테스트 하다가 설치 후 초기 화면 조차 보이지 않는 문제를 당면하게 되었다.

맞닥뜨리게 된 에러는 다음과 같다.


Fatal error: Allowed memory size of 1073741824 bytes exhausted (tried to allocate 4294967296 bytes) in .../classes/db/DBMysqli.class.php on line 234


4G 메모리 할당을 하다가 오류가 발생했다는 오류였다.

대부분 memeory 할당 오류는 php.ini 또는 ini_set을 통해 해결할 수 있다는 답변 뿐이였다.

예를 들어 http://www.xpressengine.com/qna/20836943 이런 식 ^^;;


그런데 php.ini에서 메모리를 4G 이상 5G를 줘도 문제가 발생했고

메모리의 제한이 없도록 -1을 준 경우에는 서버의 메모리를 다 쓰게 되어서 서버가 멈추는 현상까지 벌어지게 되었다.


따라서 처음에는 XE의 문제인줄 알고 Source code를 수정하고자 Debuging을 열심히 하였지만 도저히 방법이 보이지 않았다.


그러다가 4G라는 크기에 눈이 가게 되었고, 4G는 MySQL의 longtext type의 크기라는 것에 시선이 고정되게 되었다.

이를 기초로 구글링을 해보니 어떤 검색 결과에서는


CAST(`modules`.`content` AS char(20000))


와 같이 longtext type의 column의 type cast를 하라는 말이 나와 있었다.

물론 위와 같이 하니까 문제 없이 해결은 되었지만...

길이가 다르니 내용까지 짤려서 보일 듯 싶어서 왠지 깨름직 했다.


왠지 해결책은 매뉴얼에 있을 듯 싶어 php 매뉴얼을 뒤졌더니


http://kr2.php.net/manual/en/mysqli-stmt.bind-result.php#101543


위와 같이 똑같은 증상을 호소하는 사람이 있었다.

해당 내용에 연결된 버그리포트에는 해당 내용이 버그가 아니며 mysql 버그로 보인다라는 말이 있었다.

따라서 php 재설치 시 다음과 같은 옵션으로 설치해 보면 된다고 했다.


--with-mysql=mysqlnd
--with-mysqli=mysqlnd
--with-pdo-mysql=mysqlnd
--enable-mysqlnd


mysqlnd로 구글링 해 보니 또한 다음과 같은 문서도 나오더라.


http://www.lovelgw.com/Blog/316


애초에 설치 시에는 옵션을


--with-mysql=/usr/local/mysql \
--with-mysqli=/usr/bin/mysql_config \


와 같이 줬는데 mysqlnd로 옵션을 바꿔 설치하니 이상없이 동작을 하게 되었다.


하루종일 이 문제로 구글링 하고 디버깅 했는데 결국 해결을 하게 되어 한시름 놓을 수 있게 되었다.


신고

WRITTEN BY
체리필터
프로그램 그리고 인생...

받은 트랙백이 없고 , 댓글이 없습니다.
secret
2011년 XE 캠프가 진행 됩니다.
이번 년도에는 각 지역을 저희가 직접 찾아 뵙는데요.
관련된 모임 신청은 onoffmix를 통해 하실 수 있습니다.

원하시는 분들은 아래 링크를 참조해 주세요.

1차 - 대구 : http://onoffmix.com/event/4077

2차 - 광주 : http://onoffmix.com/event/4078

3차 - 대전 : http://onoffmix.com/event/4079

4차 - 서울/경기 : http://onoffmix.com/event/4080


많은 분들의 신청 기다리겠습니다. ^^
신고

WRITTEN BY
체리필터
프로그램 그리고 인생...

받은 트랙백이 없고 , 댓글  2개가 달렸습니다.
  1. XE회원가입 2011.12.21 17:46 신고
    xpressengine.com 사이트의 회원가입이 왜 이리 안되는지요? 며칠째 시도해보고 있는데..회원가입서 양식 작성하고 제출버튼 누르면....약관승인 화면으로 그냥 되돌아와버립니다.
    로그인안하고 쓸 수 있는 곳은 여기밖에 없어서...여기에 씁니다.
    • 가입한 이메일로 인증 메일이 도착하였을 것입니다.
      해당 인증 메일로 인증을 거친 후 로그인 하시면 됩니다.

      로그인이 안될 경우 contact at xpressengine.com으로 메일 보내 주시면 됩니다.

      감사합니다. ^^
secret
한동안 영양가 없는 자동차 사진이나 올리면서 요즘 블로깅이 뜸 했는데요.
요즘 제 근황을 알려 드립니다.
뭐 궁금해 하실 분도 별로 안계실 듯 하지만 ㅎㅎ

요즘 제가 개발하고 있는 것은 아래 소프트웨어입니다.
일단은 우선 동영상부터 감상!!! ㅎㅎ



넵. 보신 바와 같이 요즘 XE 쪽 일을 하고 있습니다.
XE는 오픈소스로서 누구나 참여할 수 있는 프로젝트이며 XE Core Engine에 Module 형태로 위 영상에서 보신 Textyle이 들어갑니다.
XE의 수많은 모듈들 중에 저는 주로 Textyle과 Board를 맡게 되었는데요 ^^
아직 저도 XE와 관련된 업무를 맡은지 오래되지 않아 많은 내용을 알지는 못하지만, 적극적인 모습으로 좋은 소프트웨어를 만들 수 있도록 노력하겠습니다.

설치형 블로그인 탓에 아직 Textyle을 개발서버 이외의 곳에서 사용해 보지 못하였습니다.
Textyle 개발자가 티스토리 쓴다는 것도 조금은 우습지만, 여러가지 서비스를 이용해보고 좋은 내용들은 가져다 적용할 수 있는 이점도 있으니 긍정적으로 생각하려 합니다. ^^

덧. XE 공식 홈페이지(http://www.xpressengine.com)와 Textyle 공식 홈(http://textyle.xpressengine.net/)의 주소 알려 드리니 놀러오세요 ^^

덧2. 아 영상속의 인물은 제가 아닙니다. ^^;;
신고

WRITTEN BY
체리필터
프로그램 그리고 인생...

받은 트랙백이 없고 , 댓글이 없습니다.
secret