WordPress
디버깅
수색…
소개
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) );
귀하의 코드 안에. 이것은 당신의 인생을 훨씬 쉽게 만들어 줄 것입니다.