수색…


소개

https://codex.wordpress.org/Debugging_in_WordPress

PHP 코드 디버깅은 모든 프로젝트의 일부이지만 WordPress는 코어, 플러그인 및 테마 전반에서 코드를 표준화 할뿐만 아니라 프로세스를 단순화하도록 설계된 특정 디버그 시스템과 함께 제공됩니다.

비고

WordPress에서 디버깅을위한 플러그인 :

WP_DEBUG

WP_DEBUG 는 WordPress 전체에서 "디버그"모드를 트리거하는 데 사용할 수있는 PHP 상수 (영구 전역 변수)입니다. 기본적으로 false로 가정되며 WordPress의 개발 복사본에있는 wp-config.php 파일에서 true로 설정됩니다.

define( 'WP_DEBUG', true );
define( 'WP_DEBUG', false );

WP_DEBUG_LOG

WP_DEBUG_LOG 는 모든 오류를 / wp-content / 디렉토리의 debug.log 로그 파일에 저장하게하는 WP_DEBUG의 동반자입니다. 나중에 모든 통지를 검토하거나 오프 스크린에서 생성 된 통지 (예 : AJAX 요청 또는 wp-cron 실행 중)를보아야하는 경우에 유용합니다.

//enable
define( 'WP_DEBUG_LOG', true );

//disable
define( 'WP_DEBUG_LOG', false );

WP_DEBUG_DISPLAY

WP_DEBUG_DISPLAY 는 디버그 메시지가 페이지의 HTML 내부에 표시되는지 여부를 제어하는 ​​WP_DEBUG의 또 다른 동반자입니다. 기본값은 오류 및 경고가 생성 될 때이를 표시하는 'true'입니다. 이것을 false로 설정하면 모든 오류가 숨겨집니다. 오류를 나중에 검토 할 수 있도록 WP_DEBUG_LOG와 함께 사용해야합니다. 참고 : WP_DEBUG_DISPLAY가 무엇이든하려면 WP_DEBUG가 활성화되어 있어야합니다 (true).

//enable
define( 'WP_DEBUG_DISPLAY', true );

//disable
define( 'WP_DEBUG_DISPLAY', false );

SCRIPT_DEBUG

SCRIPT_DEBUG 는 WordPress가 일반적으로로드되는 축소 된 버전이 아닌 핵심 CSS 및 JavaScript 파일의 "dev"버전을 사용하도록하는 관련 상수입니다. 내장 된 .js 또는 .css 파일의 수정을 테스트 할 때 유용합니다. 기본값은 false입니다.

//enable
define( 'SCRIPT_DEBUG', true );

//disable
define( 'SCRIPT_DEBUG', false );

절약

SAVEQUERIES 정의는 데이터베이스 u 리를 h 열에 저장하고 해당 u 리를 분석하는 데 도움이되도록 h 열을 표시 할 수 있습니다. true로 정의 된 상수는 각 쿼리를 저장하고, 쿼리를 실행하는 데 걸린 시간과 호출 된 함수를 저장합니다. 참고 : 이것은 사이트에 성능에 영향을 미치므로 디버깅하지 않을 때는이 기능을 해제해야합니다.

define( 'SAVEQUERIES', true );

배열은

global $wpdb->queries;

예제 wp-config.php와 디버깅을위한 우수 사례

wp-config.php 파일에 삽입 된 다음 코드는 모든 오류,주의 사항 및 경고를 wp-content 디렉토리의 debug.log 파일에 기록합니다. 또한 페이지 생성을 방해하지 않도록 오류를 숨 깁니다.

 // Enable WP_DEBUG mode
define( 'WP_DEBUG', true );

// Enable Debug logging to the /wp-content/debug.log file
define( 'WP_DEBUG_LOG', true );

// Disable display of errors and warnings 
define( 'WP_DEBUG_DISPLAY', false );
@ini_set( 'display_errors', 0 );

// Use dev versions of core JS and CSS files (only needed if you are modifying these core files)
define( 'SCRIPT_DEBUG', true );

모범 사례 디버그 로그에 사용자 지정 메시지를 추가하려면 플러그 인이나 테마에 다음 코드를 추가하십시오.

//Checking is function_exists  
    if ( !function_exists( 'print_to_log' ) ) {
            //function writes a message to debug.log if debugging is turned on.
            function print_to_log( $message )
            {
                if ( true === WP_DEBUG ) {
                    if ( is_array( $message ) || is_object( $message ) ) {
                        error_log( print_r( $message, true ) );
                    } else {
                        error_log( $message );
                    }
                }
            }
        }

별도의 파일에서 로그보기

Ajax 호출이있을 때 콜백 함수 내부에서 로그를 얻는 것은 매우 어렵습니다. 하지만 디버깅을 활성화하면

define('WP_DEBUG', true);

그런 다음 추가합니다.

ini_set('log_errors',TRUE);
ini_set('error_reporting', E_ALL);
ini_set('error_log', dirname(__FILE__) . '/error_log.txt');

모든 로그가있는 root 폴더에 error.log.txt 파일이 error.log.txt . 당신도 함께 로그 할 수 있습니다.

error_log( print_r( 'what I want to check goes here', true) );

귀하의 코드 안에. 이것은 당신의 인생을 훨씬 쉽게 만들어 줄 것입니다.



Modified text is an extract of the original Stack Overflow Documentation
아래 라이선스 CC BY-SA 3.0
와 제휴하지 않음 Stack Overflow