'500 Internal Error'에 해당되는 글 1건
100여 군데 가까운 고객 사이트 중 WebtoB에서 PHP를 돌리는 곳은 딱 두 군데 있다. 그런데 우연의 일치인지 그 두 군데가 어제 오늘 사이로 모두 문제가 생겼다. 한 군데는 WebtoB 실행 계정이 변경되면서 오라클 환경 변수(TNS_ADMIN과 NLS_LANG)를 가져오지 못해서 일어나는 DB 접속 오류였고 나머지 하나는 PHP 페이지에 접근하면 무조건 500 internal error 뿌리면서 죽는 증상이었다.
첫 번째 경우는 오류메시지가 브라우저까지 ORA-12154메시지가 친절하게 뿌려져서 쉽게 증상을 잡을 수 있었지만 두 번째 경우는 모든 경우에 무조건 500 메시지만 보여져서 도무지 원인을 파악할 수 없었다.
오랜시간 브라우저를 통해서만 증상을 파악하다가 테스트의 편의를 위해 커맨드라인 상에서 해당 PHP 파일들을 실행해 보다 우연히 500이 뜨는 페이지는 모두 Notice 이하 각 오류 메시지가 나오는 걸 확인했다. 혹시 이것인가 해서 phpinfo()의 error_reporing을 확인해 보니 E_ALL로 되어 있었고 이 상태에서 Notice를 발생시키는 테스트 페이지를 생성해보니 역시 500이었다. error level을 조절해보니 아무 이상없이 잘 실행되었다.
즉 해결책은 php.ini에서 error_reporting = 0 로 설정하기였다.
오라클 오류가 난 기관은 Warning도 브라우저에 잘도 뿌려줬는데 여긴 왜 이랬는지 모르겠다. 내일 tmax 담당자한테 전화해서 물어봐야겠다.
첫 번째 경우는 오류메시지가 브라우저까지 ORA-12154메시지가 친절하게 뿌려져서 쉽게 증상을 잡을 수 있었지만 두 번째 경우는 모든 경우에 무조건 500 메시지만 보여져서 도무지 원인을 파악할 수 없었다.
오랜시간 브라우저를 통해서만 증상을 파악하다가 테스트의 편의를 위해 커맨드라인 상에서 해당 PHP 파일들을 실행해 보다 우연히 500이 뜨는 페이지는 모두 Notice 이하 각 오류 메시지가 나오는 걸 확인했다. 혹시 이것인가 해서 phpinfo()의 error_reporing을 확인해 보니 E_ALL로 되어 있었고 이 상태에서 Notice를 발생시키는 테스트 페이지를 생성해보니 역시 500이었다. error level을 조절해보니 아무 이상없이 잘 실행되었다.
즉 해결책은 php.ini에서 error_reporting = 0 로 설정하기였다.
오라클 오류가 난 기관은 Warning도 브라우저에 잘도 뿌려줬는데 여긴 왜 이랬는지 모르겠다. 내일 tmax 담당자한테 전화해서 물어봐야겠다.