wp-config.php | 설정 방법

|

개요

개발을 하는데 가장 중요한 포인트는 자신이 만든 코드가 원하는 목적에만 작동되어야 하는 점입니다. 이렇게 만들기 위해서는 제대로 된 알고리즘을 기반으로 코드를 짜야 하지만아무리 잘 만든다고 해도, 테스트를 거치지 않으면 그 코드는 검증되지 않습니다.

워드프레스에서 지원하는 디버그 방법을 공유하고자 합니다.

참고 링크

모든 자료 올리기

// 업로드 제한 해제 상수
define('ALLOW_UNFILTERED_UPLOADS', true);
// hwp 파일 접근 허가 추가
function my_custom_mime_types($mimes)
{
    // 값 추가하기
    $mimes['hwp'] = 'application/hangul';

    return $mimes;
}
add_filter('upload_mimes', 'my_custom_mime_types');

자료를 제한없이 올릴 수 있도록 돕는 함수입니다.

자세한 설정방법은 파일 확장자 업로드 제한 해제방법을 참고하시면 됩니다.

디버그 모드

define('WP_DEBUG', true); // 디버그 모드 활성화
define( 'WP_DEBUG_DISPLAY', true ); // 에러 코드 확인, 

오류 발생 시 메세지를 보여줍니다.

  1. 에러 (Error)
  2. 경고 (Warning)
  3. 알림 (Notice)

에러 뿐만 아니라 경고, 알림이 뜨기에 사전에 수많은 에러를 방지할 수 있습니다. 개발 후에는 디버그 모드를 false 로 해야 유저가 해당 알림을 보지 않기에 개발 완료 후에는 디버그 모드를 종료하여야 합니다.
WP_DEBUG_DISPLAY 는 나중에 오류를 검토할 수 있도록 WP_DEBUG_LOG 와 같이 사용해야 합니다.

define('SCRIPT_DEBUG', ture);

자바스크립트와 CSS 파일을 압축하지 않습니다. 워드프레스는 속도 상승을 위해 파일의 압축이 이루어지지만, 위의 코드를 추가하여 개발 과정에서 코드를 조금 더 집중하여 볼 수 있다는 장점을 가지고 있습니다.

// 첫번째 방법
define( 'WP_DEBUG_LOG', true );
// 두번째 방법
define( 'WP_DEBUG_LOG', '/tmp/wp-errors.log' );

워드프레스의 디버그 로그를 기록합니다. AJAX 이벤트를 디버깅 하는 경우도 자료를 기록해줍니다.

define('SAVEQUERIES', 'true');

현재 페이지에 작동되는 쿼리를 $wpdb->queries 에 기록합니다. 따로 노출되지는 않기에 추가로 작업해야 하는데요,

아래의 코드를 활용하여 원하는 페이지에 노출시키면 됩니다.

속도 저하의 원인이 되기에 사이트의 개발이 완료되면 해당 코드를 삭제해야 합니다

global $wpdb;

echo "<pre>";
print_r( $wpdb->queries ); 
echo "</pre>";

$wpdb 라는 글로벌 변수를 호출합니다. <pre> 태그와 print_r() 은 배열이 있는 코드를 예쁘게 정리해줍니다.

메모리 값 늘리기

define('WP_MEMORY_LIMIT', '256M');

해당 방법을 통하여 설정하더라도 실제로 메모리값이 늘어나지는 않을 수 있습니다. 이 경우에는 서버에 설치된 PHP 를 설정해야 합니다.

php.ini 파일 안에 있는 memory_limit = 256M 와 같은 설정을 진행하여 해결하거나, 서버의 가용성을 늘려 해결하는 방법을 추천합니다.

키 값 생성하기

define('RDG_REST_API_KEY' , '키값');

상수를 등록하게 되면 워드프레스에서 RDG_REST_API_KEY 를 입력함으로 보안에 신겨쓸 수 있게 됩니다

JS CSS 압축 풀기

define ( 'SCRIPT_DEBUG' , true );

워드프레스에서 기본으로 사용되는 코드들은 압축이 된 상태로 보여집니다. 사람이 알아볼 수 없기 때문에 개발할 때는 위의 코드를 해제하여 개발하는 것이 좋습니다.

번역 자료 업데이트 방지하기

define( 'WP_AUTO_UPDATE_TRANSLATION', false );

번역 작업이 필요하지 않는 경우가 있습니다. 이 경우는 위의 코드를 실행함으로서 해결할 수 있습니다

참조

답글 남기기

이메일 주소는 공개되지 않습니다. 필수 필드는 *로 표시됩니다

클릭하여 복사