웹마스터 팁

디버그를 할 때마다 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를 꼭 백업해 두시기 바랍니다.
제목 글쓴이 날짜
고도몰과 xe 회원 연동하는 키 포인트 410contents 2014.09.03
div 세로 중앙 정렬팁 Ansi™ 2014.09.01
socialXE 에서 로그인시 소셜로그인과 XE 로그인 동시 구현하기 file 큐우우 2014.08.31
XE에 페이스북 소셜 댓글 연동하는 방법 (페이스북 소셜댓글 달기) 기톨닷컴 2014.08.30
카메론 플러그인 에드온이 컨텐츠(본문)을 가릴때 팁 file oscarmike 2014.08.30
Simplestrap css, js cdn에서 로드하기 [5] file Typhoon 2014.08.29
캡챠(captcha)가 안 뜰 때 Double'U' 2014.08.29
[업데이트] [Easy Tip] [XE 1.7] XE 코어 js, css파일 jsdelivr CDN사용하기 [13] file Typhoon 2014.08.28
XE를 앱으로, 티타늄 및 폰갭(Cordova) 사용기 [1] AJKJ 2014.08.28
관리자 게시판 목록에서 브라우저 제목 클릭시 새창으로 뜨도록 수정 [2] sejin7940 2014.08.26
애드온 개발중에 이상한 버그가 생길경우 [2] 銀童 2014.08.26
관리자페이지의 '서버정보출력'에 '절대경로' 가 출력되게 하는 방법 [3] sejin7940 2014.08.26
홈페이지 제작 시, 개인정보관련/회원가입약관 처리에 대해서 [1] 양파F 2014.08.23
CafeXE (homepage 모듈) 메뉴노출 권한오류 수정안. Xiso 2014.08.22
사용자 정의를 활용하여 폼 형식으로 개발하는 무식한 방법(2) [5] Reminisce 2014.08.22
게시판의 오늘 올라온 새글의 갯수를 알아내는 방법 [8] garnecia 2014.08.22
사용자 정의를 활용하여 폼 형식으로 개발하는 무식한 방법(1) [6] Reminisce 2014.08.22
스케치북 게시판 메뉴얼 [1] socialskyo 2014.08.21
jquery 이미지 이펙트 플러그인 Ansi™ 2014.08.19
게시판의 관리자가 최고관리자의 글을 지울 수 없도록 하기 [1] file BJ람보 2014.08.18