웹 프로그램의 PHP 실행을 하는 경우 에러 표시 없이 아래 그림과 같이 "페이지에 연결할 수 없습니다."라고 표시되는 경우가 있습니다.
에러 표시가 없이 페이지가 종료가 되는 경우라서 오류를 확인하기 어렵습니다.
에러가 표시되지 않고 HTTP ERROR 500 표시
예제 문서
아래 소스는 php 코드에 에러가 있는 소스 있습니다. 그렇지만 위와 같이 500 에러가 발생합니다.
<!DOCTYPE html>
<html lang="ko-KR">
<head>
<meta charset="UTF-8">
<meta name="Generator" content="chr.kr">
<meta name="Author" content="">
<meta name="Keywords" content="">
<meta name="Description" content="">
<title>Error</title>
</head>
<body>
<p>에러 표시 여부 확인</p>
<?php echo date();?>
</body>
</html>
에러 출력하기
에러가 나오지 않고 500 페이지 오류 또는 아무 메시지가 표시되지 않는다면 문서 상단에 해당 소스를 추가합니다.
error_reporting( E_ALL ); ini_set( "display_errors", 1 );
위에 소스에서 date() 뒤에 전달한 값이 존재하지 않아 에러가 발생하는 것을 확인 할 수 있습니다.
에러를 표시하지 않는 방법
ini_set 설정에서 display_errors 값을 0으로 지정하면 에러를 표시하지 않게 됩니다.
ini_set( "display_errors", 0 );
또는 해당 소스 부분만 에러를 표시하지 않는 경우에는 앞 부분에 @ 문자를 추가해주면 에러 문구를 출력하지 않습니다.
echo @date();
서버에서 에러 표시 여부 지정하기
phpinfo() 명령어를 이용하면 php.ini 설치된 경로를 확인 할 수 있으며 vi 편집기를 통해 수정합니다.
display_errors 문서가 있는 부분을 불러와서 Off 되어 있는 부분을 On 변경 해 주면 에러 코드를 확인할 수 있습니다.
display_errors = Off
display_errors = On
PHP 소스를 실행할 에러 코드를 표시하거나 무시할 수 있는 방법을 소개 해 드렸습니다.
카페24와 같은 웹 호스팅을 이용하는 경우 PHP 소스 상단에 ini_set 값을 설정하는 방법으로 처리하게 됩니다.
일반적으로 개발 중인 사이트의 경우에는 에러 코드를 표시하고 그렇지 않은 경우에는 에러를 숨기는 것을 권장합니다.
주의 할 부분은 에러가 무시되면 에러 여부를 모르고 지나칠 수 있다는 부분 입니다.
여기에서는 간단히 표시하였지만 error_reporting 여러 유형을 설정할 수 있으며 아파치 error_log 파일을 확인하는 방법도 있습니다.