질문/조언팁/리소스 공유

에러가 나서 질문을 하시면 제일 먼저 "에러 로그"를 보여달라는 답변이 돌아오지요.

에러 로그는 어느 파일의 어느 부분에 문제가 있어서 에러가 났는지 진단하는 데 반드시 필요한 진단도구입니다.

에러 로그가 없으면 아무리 전문가라도 장님 코끼리 더듬듯이 대충 때려맞춰서 답변을 할 수밖에 없습니다.

 

에러 로그에는 대개 알 수 없는 영어 메시지가 가득 담겨 있습니다.

그러나 내가 이해할 수 없다고 해서 다른 사람에게도 쓸모없는 정보는 아닙니다.

 

문제는 대부분의 웹호스팅 업체들이 에러 로그를 숨겨놓았다는 점입니다.

고객이 필요할 때 바로바로 볼 수 있어야 하는데, 굳이 고객센터에 연락해서 전달받아야 합니다.

그래서 대부분의 일반 사용자는 에러 로그라는 것이 있는 줄도 모릅니다.

 

그런데 PHP에서는 에러 로그의 경로를 쉽게 커스터마이징할 수 있습니다.

호스팅 업체 직원만 볼 수 있는 위치에 기록되던 에러 로그를

내가 직접 볼 수 있는 위치로 옮길 수 있다는 뜻입니다.

 

카페24 기준으로, .htaccess 파일에 아래의 한 줄만 추가하면 됩니다.

 

    php_value error_log /내아이디/error.log

 

여기서 "내아이디"는 카페24 아이디를 의미합니다.

저 상태에서 에러가 발생하면 FTP 로그인 후 바로 나오는 폴더(www 폴더 바깥)에

error.log라는 파일이 생성되고, 그 파일에 자세한 에러 정보가 남습니다.

 

다른 호스팅 업체는 경로가 다를 수 있습니다. /home/내아이디/로 해야 하는 경우도 있고

/home/hosting_users/내아이디/ 등 다양한 배리에이션이 있습니다.

이런 경우 phpinfo를 찍어 보거나, 라이믹스에서 "서버 환경 표시"를 해보면 "basedir" 항목에 정확한 경로가 나오니

원하는 경로를 조합하여 에러 로그 파일명을 지정해 주면 됩니다.

 

주의 #1

업체에 따라 해당 파일 또는 상위폴더의 퍼미션을 조정해 주어야 할 수도 있습니다.

카페24는 퍼미션 조정 필요없습니다.

 

주의 #2

에러 로그를 켜놓고 잊어버리면 로그 파일의 용량이 어마어마하게 늘어날 수 있습니다.

용량 제한이 빠듯한 국내 웹호스팅이라면 에러 로그 내용만 확인한 후

.htaccess 설정을 원래대로 돌려놓아야 합니다. 안 그러면 조만간 용량이 가득차 버릴 것입니다.

 

주의 #3

외부에서 쉽게 접속할 수 있는 위치에 에러 로그를 저장하는 것은 보안상 좋지 않습니다.

www, public_html 등 특정한 폴더 안에 홈페이지를 올리도록 하는 업체라면

그 폴더 바깥에 에러 로그를 두면 외부에서 접근할 수 없으므로 안전합니다.

그렇지 않은 업체라면 차라리 files/.../.../ 아래 어딘가에 나만 아는 경로를 하나 만들어 쓰는 편이 낫습니다.

 

TAG •

글쓴이 기진곰

profile
GitHub 아이디는 @kijin입니다. 사람을 위한 인터넷 생태계의 발전과 웹 보안에 많은 관심을 가지고 있습니다.
우리가 만들어 가는 XE의 새 이름, 라이믹스(Rhymix) 프로젝트에 참여하고 있습니다.
오픈소스 도로명주소 검색서버 및 API Postcodify를 개발, 운영하고 있습니다.
국내외 서버 및 클라우드서버 세팅, 이전, 튜닝해 드립니다.
  • profile
    유익한 정보 감사합니다.
    많은 도움을 받고 있습니다.