[apache/php] 500 Internal Server Error 원인 찾는 법
php를 사용하면서 답답했던 것 중 하나는.. 작성한 php 코드에 문제가 발생한 경우 원인을 찾기가 쉽지 않았다는 것입니다.
코드 자체에 문제가 있는 php에 HTTP request를 보내면 아무런 에러 원인이 발생하지 않습니다.
아무래도.. error 원인과 line을 노출시키는 것은 문제가 될 수 있기 때문이겠죠.
그동안.. cafe24에서는 이런 에러가 발생하면.. 그냥 열심히 원인을 찾았습니다.
그런데 서버에 대한 권한이 더 많은 aws lightsail에서는 에러 로그를 확인할 수 있네요.
/opt/bitnami/apache2/logs
위의 경로에 가면 몇 가지 로그 파일들이 있습니다.
access_log 는 서버에 접속한 사람이 누구인지, 시간은 언제인지, 무슨 HTTP 요청을 했는지 알 수 있습니다.
error_log 에서는 바로.. 500 Internal Server Error와 같은.. 에러 로그가 찍힙니다.
[Sun Feb 02 13:33:40.635344 2020] [proxy_fcgi:error] [pid 15744:tid 140251083110144] [client ***.***.***.***:61169] AH01071: Got error 'PHP message: PHP Parse error: syntax error, unexpected 'if' (T_IF) in /opt/bitnami/apache2/htdocs/***.php on line 235'
저의 경우엔 if에 문제가 있다고 나오네요.
if문 근처의 코드를 자세히 보니.. 바로 윗 줄에 괄호')' 가.. 하나 빠져있네요;; ㅎㅎ;;
문제의 원인을 제거하니.. 잘 동작합니다.
댓글 영역