웹마스터 팁

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로 옵션을 바꿔 설치하니 이상없이 동작을 하게 되었다.


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

제목 글쓴이 날짜
XE 일일이 메뉴출력하지 말고 XE함수들로 한번에 처리하세요! [1] 소렌트. 2010.04.11
/home/*/public_html/xe 디렉토리에서 rewrite 적용안되는 현상 해결(.htaccess) [2] 소렌트. 2010.04.11
archive 최근달 부터 보여주기 calko 2010.04.11
새글 (댓글) 작성후 자동으로 이메일 보내질때 작성자 서명을 붙이는법 [1] 왕초봉 2010.04.10
[현원式] 개나 소나 하는 CSS - 레이아웃 만들기 / 기초지식 이해편 [3] 현원 2010.04.10
자신의 인터넷ISP 80포트 지원여부. [3] 해피보이 2010.04.08
개인 웹서버의 완성 우분투 (서버이전완료) [1] 준타 2010.04.07
XE 저장할때 팁 [4] 멀티하자 2010.04.05
[게시판ex] 상단에 나오는 ''포인트'' 말풍선형태 배경이미지 및 PSD소스입니다. [3] file 빨간발 2010.04.04
XE 기본 카운터의 방문자 / 페이지뷰 출력하고 수정하기 [5] 대류 2010.04.03
트위터와 구글톸을 이용한 제로보드XE 새글 알리미 구축하기 [2] 하우하우 2010.04.03
관리자 메일 수신 버그 수정 [2] 형기 2010.04.02
Content 위젯 목록 가로로 정렬 하기 편법 [3] file teryboy 2010.04.01
속도향상에 관해(경험+의견) [3] 아고라 2010.03.31
본문에서 이미지 제거, 이미지만 추출하는 정규식 팁 [5] 라르게덴 2010.03.31
홈페이지에 계정 사용량, DB 사용량, 현재 트래픽 출력하기 [7] file 대류 2010.03.29
카페24 웹호스팅에서 서브 도메인으로 접속 방법 [5] 데이스타 2010.03.28
제로보드4에서 XE로 넘어와 헤메는 분들을 위해서(3편:최종)-Widgets이해와 활용 [24] 황비 2010.03.26
영문사이트 제작시 별명, 사용자 ID등 한글이 표시될때 [3] file 겨우리851 2010.03.24
홈페이지의 개념부터 알아야 하는 진정한 초급자들의 위한 팁입니다. 놀라운넘 2010.03.23