웹마스터 팁

디버그를 할 때마다 config.inc.php를 편집하고 tail -f 입력하는게 귀찮아서, 간단한 스크립트를 만들었습니다.
실행할때마다 __DEBUG__ 변수의 값을 1 / 0 으로 전환해주며, 자동으로 tail 명령을 시작합니다.
테스트 환경은 zbxe 1.0.2 / python 2.4.3 입니다.

[setzer@blackjack ~]$ chmod +x pz.py
[setzer@blackjack ~]$ ./pz.py
__DEBUG__ : 1 > 0
[setzer@blackjack ~]$ ./pz.py
__DEBUG__ : 0 > 1


** Debug at 2008-04-23 09:43:01 ************************************************************

- Request/ Response info
        Request URI                     : m9.pe.kr:80/zbxe/index.php
        Request method                  : POST
        Response method                 : XMLRPC
        Response contents size          : 66 byte
        Total elapsed time              : 0.04494 sec


코드는 아래와 같습니다. (python 및 zbxe의 경로는 본인 환경에 맞게 설정하시기 바랍니다.)

#!/usr/bin/env python
# *-* coding: utf-8 -*-
zb_path = "html/zbxe/"
zbcfg_path = zb_path + "config/config.inc.php"
zbmsg_path = zb_path + "files/_debug_message.php"

import re
#config.inc.php를 읽어 raw로 반환
def zbcfg_raw(contents=None):
    if contents != None:
        f = open(zbcfg_path, "w")
        f.write(contents)
        f.close()
    return open(zbcfg_path, "r").read()

#raw에서 에서 변수의 값을 찾아 반환. 값이 주어지면 raw에서 값을 변경하여 반환
def zbcfg_var_value(raw, name, value=None):
    p = re.compile("^(    define\(\'__" + name + "__\', )([0-3])(\);)$",re.MULTILINE)
    if value != None:
        raw = p.sub("\g<1>" + value + "\g<3>", raw)
    return p.search(raw).group(2), raw

oldval, oldraw = zbcfg_var_value(zbcfg_raw(), "DEBUG")
newval, newraw = zbcfg_var_value(oldraw, "DEBUG", ['0','1'][oldval=='0'])

print "__DEBUG__ : " + oldval + " => " + newval

zbcfg_raw(newraw)

if newval != "0":
    req = raw_input("tail? (Y/n)")
    if req != "n":
        import os
        os.system("tail -f " + zbmsg_path)



만약을 대비해 사용전에 config.inc.php를 꼭 백업해 두시기 바랍니다.
제목 글쓴이 날짜
갑자기 관리자 페이지가 안보이거나 330 오류가 날 때는 이렇게 해결! [2] file 세라오빠 2011.04.13
(1.4.5 버전 이상) XE가 설치된 사이트 찾기 [1] SMaker 2011.04.17
댓글 쪽지 알림시 원본글 URL 설정 [1] unnumiya 2011.04.15
1.4.5.2로 업데이트 후 짧은 주소가 제대로 되지 않으실때... [8] file 라르게덴 2011.04.12
다솜플레이어창은 뜨는데 연결중에서 더이상 안넘어가요 탱7 2011.04.15
1.4.4.2부터 게시판 신규게시물 작성이 안되던 문제 [2] 운상유희 2011.03.25
업데이트 어떻게 해야 오류 없이 되나요? [1] 김농주 2011.04.12
텍스타일 카테고리 글목록수 수정 신군임니돠 2011.04.12
제로보드 XE - 오토셋에 설치하기 [11] file 차오이 2007.08.11
레이아웃에 소스추가해서 트래픽보기! [2] file 막시민 2011.03.07
회원가입폼 내멋대로 내맘대로 하기. [9] 지인짜 2010.08.04
[모바일] 모바일웹에서 Pc버전갔다가 다시 모바일버전으로 갈라면 [1] 푸름빠 2011.04.07
XE로 API 처리 완전 정복하기(2) [2] file 라르게덴 2009.11.03
P 개행처리를 BR처럼 Garon 2011.04.04
데이터이전 회원관련해서 알아야 할 사항 [2] 푸름빠 2011.04.03
[PHP 기초] 변수, 상수 [2] 난다날아 2011.03.24
관리자페이지 레이아웃에 게시판을 달아보자 [3] 푸름빠 2011.03.29
"현재 xe코어1.4.4.4버전에서는 익스플로어에서 페이지수정 등의 작업을 할때 에러가 자주 발생하곤 합니다." 유샤인 2011.03.29
디버그모드 변경하는 간단한 파이썬 스크립트 [4] mmx900 2008.04.23
모두 새로 코딩된 선우님의 새로운 레이아웃.... 유샤인 2011.03.28