오늘 갑자기 한 네티즌이 블로그 피드가 다운됐다는 메시지를 남겼습니다. 증상은 다음과 같습니다.
크롬에서 바로 구독 페이지가 열리며 표시되는 내용은 다음과 같습니다.
This page contains the following errors: error on line 1 at column 1: Document is empty Below is a rendering of the page up to the first error.
FeedDemon 프롬프트: 이 피드에는 오류가 있습니다.
추가 후 효과가 없으며 정상적으로 사용 가능합니다.
Xianguo Reader도 읽을 수 있지만 최신 기사는 볼 수 없습니다.
IE로 시도해보니 "문서의 최상위 수준에 잘못된 내용이 존재합니다."라고 나옵니다.
소스코드를 보니, WordPress의 피드 출력이 HTML 형식이 아니라는 것을 의미합니다. 문제는 특정 파일의 형식에 있습니다. 하지만 어떤 파일이 문제인지 찾는 것이 더 어렵습니다. 인터넷에 나와있는 해결 방법은 대략 다음과 같습니다.
상하단에 추가 캐리지 리턴과 라인 피드가 있는지 확인
1 wp-config.php 파일을 확인하고 봅니다. PHP 본문 코드 외에 캐리지 리턴 문자가 있나요?
2. 위와 동일하게 wp-rss2.php 및 wp-atom.php 파일이 수정되지 않았는지 확인합니다. 최근에는 건너뛸 수 있습니다.
3. 위와 동일하게 function.php 파일을 확인하세요.
4. 수정이 완료되면 피드가 캐시됩니다. WP 프로그램이 피드를 다시 작성하여 효과를 확인할 수 있도록
5. 여전히 오류가 있으면 모든 플러그인을 일시적으로 닫고 테마를 변경하여 하나씩 제거해 보세요. .
위 파일을 모두 수정했는데도 아직 실감이 나지 않습니다. . 그래서 "Fix Rss Feeds" 플러그인을 설치하고 활성화하고 수정했습니다. 그리고 수리 후 플러그인을 삭제해도 리바운드가 발생하지 않습니다~
이 플러그인을 연구해 본 결과 실제로는 WordPress 루트 디렉터리의 wp-blog-header.php만 수정한 것으로 보입니다. , 이 파일을
<?php /** * Loads the WordPress environment and template. * * @package WordPress */ if ( !isset($wp_did_header) ) { $wp_did_header = true; ob_start(); //2010-09-18 gofunnow.com added, it will Fix rss feed error "Error on line 2: The processing instruction target matching "[xX][mM][lL]" is not allowed." while burn feed from feedburner.com <strong>require</strong>_once( dirname(__FILE__) . '/wp-load.php' ); ob_end_clean(); //2010-09-18 gofunnow.com added, it will Fix rss feed error "Error on line 2: The processing instruction target matching "[xX][mM][lL]" is not allowed." while burn feed from feedburner.com wp(); <strong>require</strong>_once( ABSPATH . WPINC . '/template-loader.php' ); } ?>
으로 변경하기만 하면 됩니다.
위 내용은 필수 콘텐츠를 포함하여 WordPress 피드 표시 오류를 수정하기 위해 Fix Rss Feeds 플러그인을 사용하는 방법을 소개합니다. PHP 튜토리얼에 관심이 있는 친구들에게 도움이 되기를 바랍니다.