워드프레스 에러 내용을 어떻게 확인하나요?
💡 요약 정리
- 화면에 바로 보이지 않는 500 에러 등은 원인 확인 절차가 필요합니다.
- wp-config.php에서 WP_DEBUG를 활성화해 브라우저/로그로 에러를 확인합니다.
- 로그는 기본적으로 /wp-content/debug.log에 남기거나 원하는 경로로 지정할 수 있습니다.
- 운영 중에는 WP_DEBUG_DISPLAY를 false로 두어 화면 출력 없이 로그만 남기는 것을 권장합니다.
- .htaccess에서도 PHP 에러 표시/로그를 활성화할 수 있습니다. 단, 설정 오류 시 500 오류가 발생할 수 있습니다.
워드프레스 내부 소스 문제 또는 서버 설정 영향으로 에러가 발생했지만, 브라우저에서 직접 확인이 어려울 수 있습니다. 아래 방법으로 원인을 확인해 보세요.
- 에러 원인 확인이 필요한 대표 상황 예시 화면입니다.
1. WP_DEBUG 모드 사용 방법
-
FTP / SSH 프로토콜로 서버에 접속합니다.
- FTP는 파일을 서버에 올리고 내려받는 방법(프로그램)입니다.
- SSH는 명령어로 서버에 접속하는 보안 접속 방식입니다.
-
편집기로 전역 설정 파일인 wp-config.php 파일을 엽니다.
# vi wp-config.php -
WP_DEBUG 항목을 활성화합니다.
## edit wp-config.php define( 'WP_DEBUG', false ); > define( 'WP_DEBUG', true ); -
저장 후 브라우저로 에러 내용을 확인합니다.
- 사용 중인 테마의 functions.php 파일에 PHP 구문 오류가 있음을 확인할 수 있습니다.
- 예: 테마 functions.php에서 발생한 구문 오류 메시지 예시입니다.
-
확인된 문제점을 수정한 후, 홈페이지 접근이 정상인지 다시 접속해 봅니다.
- FTP/SFTP, SSH, MYSQL 접속 방법은 아래 가이드를 참고하세요.
2. WP_DEBUG 모드의 옵션 설정
중요: WP_DEBUG 관련 옵션은 반드시 wp-config.php의 define('WP_DEBUG', ...) 설정 바로 아래에 추가해야 동작합니다.
2.1 에러 로그 남기기
- wp-config.php 파일의 WP_DEBUG 설정 밑에 값을 추가합니다.
define('WP_DEBUG_LOG', true);
- 브라우저에서 에러를 재현하면 /wp-content/debug.log 경로로 에러가 로깅됩니다.
# cat wp-content/debug.log
[17-Apr-2022 07:55:09] PHP Parse error: syntax error, unexpected 'asdasdasasasd' (T_STRING) in /USERID/www/wp-content/themes/twentytwentytwo/functions.php on line 152
[17-Apr-2022 07:55:11] PHP Parse error: syntax error, unexpected 'asdasdasasasd' (T_STRING) in /USERID/www/wp-content/themes/twentytwentytwo/functions.php on line 15
- true 대신 경로/파일명을 입력하면 해당 파일명으로 로깅됩니다.
## USERID 계정의 최상단에 error.log파일로 로깅
define('WP_DEBUG_LOG', 'USERID/error.log' );
2.2 WP_DEBUG 모드에서 에러 출력 안하기
- 운영 중인 사이트에서 화면 출력 없이 로그 파일로만 확인하려면 아래 설정을 추가합니다.
define( 'WP_DEBUG_DISPLAY', false )
추가 디버깅 플러그인 안내:
- DB 쿼리 모니터링, 디버그 바 추가, 호환성 체크 로그 생성 등이 가능한 플러그인입니다.
3. .htaccess 파일을 통해 PHP DISPLAY ERROR 활성화하기
안내: WP_DEBUG 설정 대신 .htaccess를 통해서도 PHP 에러 표시/로그를 활성화할 수 있습니다. 카페24 서버는 기본적으로 PHP 에러가 브라우저에 직접 출력되지 않도록 설정되어 있습니다. 최상단 .htaccess 파일에 아래 설정을 추가하면 WP_DEBUG와 유사한 효과를 얻을 수 있습니다.
-
FTP / SSH로 서버에 접속합니다.
-
www 폴더와 같은 위치에 있는 .htaccess 파일을 내려받아 메모장으로 열고, 3번 값을 추가 후 저장하여 업로드합니다.
- SSH 접속 시에는 vi 편집기로 열어 추가 후 저장합니다.
-
설정 값을 추가합니다.
- 권장 위치: 최상단 .htaccess 파일의 맨 아래
## 최상단의 .htaccess파일 맨 아래에 해당 값을 추가해주시기 바랍니다.
php_value error_reporting 6135 # 어떤 에러를 보고할지 결정합니다. 6135는 대부분의 에러 유형을 포함합니다.
php_flag display_errors on # 에러 메시지를 브라우저에 표시할지 여부를 설정합니다. 개발 시 on으로 설정.
php_flag log_errors on # 에러를 로그 파일에 기록할지 여부를 설정합니다. 문제 추적을 위해 on으로 설정.
php_value error_log /home/hosting_users/아이디/php_error.log # 에러 로그 파일의 경로를 지정합니다. /아이디/는 실제 고객님의 아이디로 작성해 주시기 바랍니다.
## php_error.log 파일을 통해 로그 확인
## - FTP로 접속 후 새로 고침했을 때 파일이 보이면 내려받아 확인합니다.
## - SSH 접속 시 아래 명령으로 확인합니다.
# cat php_error.log
[17-Apr-2022 17:33:36] PHP Parse error: syntax error, unexpected 'aaaaaa' (T_STRING) in /USERID/www/info.php on line 2
[17-Apr-2022 17:37:08] PHP Parse error: syntax error, unexpected 'aaaaaa' (T_STRING) in /USERID/www/info.php on line 2
주의: .htaccess에 구문 오류나 허용되지 않는 설정을 추가하면 Internal Server Error(500)가 발생할 수 있습니다. 수정 후에는 반드시 브라우저로 서비스 정상 여부를 확인하세요.