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

특히 500번 에러는 그냥 "에러 로그를 보셈"이라는 뜻이기 때문에 다른 답변이 나올 수가 없습니다.

 

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

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

 

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

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

 

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

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

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

 

그런데 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/.../.../ 아래 어딘가에 나만 아는 경로를 하나 만들어 쓰는 편이 낫습니다.

 


 

[라이믹스 2.1.6 이상]

 

귀찮게 에러 로그를 만들어 볼 필요 없이,

index.php에서 아래의 한 줄을 찾아 맨 앞의 //를 제거하면

에러 내용을 화면에서 직접 볼 수 있습니다.

 

//ini_set('display_errors', true);

 

단, 에러 내용이 계속 화면에 표시되면 민감한 정보가 노출될 수도 있으니

문제를 해결한 후에는 반드시 원상복구하시기 바랍니다.

 

TAG •

기진곰

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

    현재 카페 24 호스팅에
    500에러 뜨는 페이지로그 확인할길이 없어

     

    /www/.htaccess 파일에
    php_value error_log /계정명/error.log

    추가하여 적용했는데 이상하게 로그가 안 쌓이네요 ㅠㅠ