답변:
모든 WP_DEBUG_LOG는 다음과 같습니다.
ini_set( 'log_errors', 1 );
ini_set( 'error_log', WP_CONTENT_DIR . '/debug.log' );
따라서 플러그인 또는 테마에서 WP_DEBUG_LOG의 로그 위치를 변경하려면 webaware의 답변 이 가장 좋습니다. 당신은 그냥 갖고 싶어 내에서 변경 wp-config.php
이 대체 할 수있는 define( 'WP_DEBUG_LOG', true );
위의 두 라인 당신이 원하는 목적지까지 로그 파일을 변경합니다.
이 변경 https://make.wordpress.org/core/2019/01/23/miscellaneous-developer-focused-changes-in-5-1 이후 WP 버전 5.1 이상에 대한 대답은 더 이상 사실이 아닌 것 같습니다. /
예를 들어 WP_DEBUG_LOG
기본값을 재정의하려는 경우 경로로 정의 할 수 있습니다 wp-content/debug.log
.
define( 'WP_DEBUG_LOG', 'wp-content/uploads/debug.log' );
예, 플러그인이나 테마의 functions.php에 코드를 추가하면 다음과 같습니다.
if (defined('WP_DEBUG_LOG') && WP_DEBUG_LOG) {
ini_set( 'error_log', WP_CONTENT_DIR . '/debug.txt' );
}
편집 : 다른 사람이 나 에게이 작업을 수행 할 필요성을 제시 했으므로 편집 할 수있는 간단한 플러그인에 코드를 추가했습니다. 원하는 경우 요점으로 사용할 수 있습니다 .
이 질문에 대한 마지막 답변이 게시 된 후 워드 프레스 코드가 변경된 것 같습니다. 이러한 상수와 관련된 현재 wp_debug_mode () 함수에는 WP_DEBUG_LOG가 true 또는 1과 같은지 여부에 대한 테스트가 포함되어 있습니다.이 경우 다른 사람들이 설명한대로 동작합니다.
그러나 해당 상수를 원하는 파일 경로 인 문자열로 설정하면 로그가 출력됩니다. 예를 들어 공개적으로 액세스 가능한 웹 컨텐츠를 위해 디렉토리 외부의 경로로 설정할 수 있습니다. 작동하려면 파일 권한으로 재생해야 할 수도 있습니다.
WordFence 보안 플러그인이 / wp-content /에서 잠재적으로 액세스 할 수있는 디버그 로그에 대해 불평하기 때문에이 답변을 찾았습니다.
if ( in_array( strtolower( (string) WP_DEBUG_LOG ), array( 'true', '1' ), true ) ) {
$log_path = WP_CONTENT_DIR . '/debug.log';
} elseif ( is_string( WP_DEBUG_LOG ) ) {
$log_path = WP_DEBUG_LOG;
} else {
$log_path = false;
}
Afaik, 기본 디버그 파일의 위치를 변경할 수 없습니다. 변경할 수있는 것은 MU 오류 로그의 위치와 PHP 오류 로그 파일의 위치입니다.
$ds = DIRECTORY_SEPARATOR;
# DEBUG
define( 'WP_DEBUG', true );
// file: ~/WP_CONTENT_DIR/debug.log
define( 'WP_DEBUG_LOG', true );
define( 'WP_DEBUG_DISPLAY', true );
define( 'SAVEQUERIES', true );
# DEBUG: MU
define( 'DIEONDBERROR', true );
define( 'ERRORLOGFILE', WP_CONTENT_DIR.$ds.'logs'.$ds.'mu_error.log' );
@ini_set( 'log_errors', 'On' );
# PHP Error log location
@ini_set( 'error_log', WP_CONTENT_DIR.$ds.'logs'.$ds.'php_error.log' );
시간이 바뀌므로 기술적 인 질문에 대한 정답도 있습니다.
2019 년 말 현재 답변은 간단합니다. wp-config.php에서 WP_DEBUG_LOG "constant"를 정의 할 때 파일을 작성할 경로를 제공 할 수 있습니다.
define( 'WP_DEBUG_LOG', '/tmp/wp-errors.log' );