HTTP 500 내부 서버 오류 발생 장소 찾는 방법??
수정을 하다 보니 HTTP 500 내부 서버 오류 가 발생했는데, 발생 위치를 알 수가 없네요..
이런 경우, 어디에서 오류가 발생했는지를 발견할 수 있는 로그 같은 것은 XE에 없을까요?
단순히 괄호가 안 맞거나, 세미콜론 등을 안했거나 했을 것 같은데 도무지 찾을 수가 없네요.
아니면 이런 문법 체크를 할 수 있는 툴 같은게 있다면 추천을 좀 해주시면 한 수 배우도록 하겠습니다~~ ^^ ;;
댓글 5
저도 어제부터 똑같은 문제로 고충을 겪었기에 제가 알아낸 바를 공유하려 합니다. 저는 글쓴이님께서 원하시는 해결책을 드리지는 못할 것 같아요. 그래도 다른 분께서 제 댓글을 보시고 더 나은 답변을 드렸으면 하는 마음에 이를 써봅니다.
크롬에서 [개발자도구]-[네트워크]를 클릭하신 다음에 500 internal server error를 유발하는 동작을 해보시면 위의 스크린샷에서처럼 index.php 가 생성될텐데 여기다 마우스를 대시고 클릭을 하시면 더 자세한 정보가 나올꺼에요. 여기서 Response를 보시면 서버의 응답내용을 봐서 어느 스크립트가 문제인지 찾아볼 수 있다고 하더라구요. 하지만 cafe24같은 웹호스팅 업체를 사용시 이 Response부분이 안보이는게 대부분이라고 하네요. ('기진곰'님의 답변을 인용하였습니다)
그래서 어제 cafe24에 전화를 해서 에러로그를 볼 수 있는지 물어보니 그럴 수 없다고 하더라구요. cafe24에다가 문의글을 남겨놓기는 하였는데 해결될 수 있을지 미지수입니다. 그래서 저는 다시 xe를 깔 생각을 하고 있어요. 어디서 스크립트 오류가 발생하는지 특정할수가 없겠더라구요.
config.inc.php 윗부분 에러관련 설정 직후에
ini_set('display_errors', true);
라고 추가해 놓으면 에러메시지가 화면에 직접 뜰 수도 있습니다.
ini_set('display_errors', true); 이것을 맨 아래 넣어도 될가요 ...?
저도 이 문제로 고생중 입니다
한 서버에 여러 사이트를 운영중 인되요
가장 회원수가 많은 사이트만 500 에러 나면서 다운 됩니다
하지만 어느 곳에서 문제가 일어나는지 찾지 못하여 고민 중 입니다
지금 당장 에러가 나고 있다면 저걸 넣어서 에러가 나는 위치를 확인할 수 있습니다만
간헐적으로 발생하는 에러라면 도움이 되지 않습니다.
오히려 에러메시지와 함께 보안상 민감한 정보가 노출될 수도 있으니
즉시 확인이 가능한 경우에만 사용하시고, 확인하자마자 지우시기 바랍니다.
ini_set('display_errors', true);
라고 추가해 놓으면 에러메시지가 화면에 직접 뜰 수도 있습니다.
보통
if(!defined('__XE__'))
{
exit();
}
ini_set('display_errors', true);
/**
* @deprecated __ZBXE__ will be removed. Use __XE__ instead.
*/
define('__ZBXE__', __XE__);
24번째줄에 삽입합니다