it-swarm-ko.tech

Wp-admin에서 이상한 404 오류를 제거하는 방법?

나는 대략 70 개의 활동적인 플러그 접속 식을 가진 WordPress 위치를 달린다.

가끔씩, 갑자기 튀어 나오는 /wp-admin/ 페이지에서 임의의 오류 페이지 ( "찾을 수 없음", 헤더가 404인지 확인하지 않았 음)가 표시됩니다.

단순히 다시 시도하면 오류가 해결되지만 플러그인 업그레이드 중에 오류가 발생하면 (자동 재 활성화가 실패하기 때문에) 매우 불편합니다. 나는이 동일한 문제가 내 대시 보드의 특정 모듈을 때로는로드하지 못하는 것에 책임이 있다고 생각합니다.

내가 설치 한 플러그인 목록 이 (가)이 문제를 일으킬 수있는 문제에 대해 알고있는 사람이 있습니까?

편집하다:

호스팅 정보 : DreamHost; 나는 서버가 Apache httpd로 커스텀 데비안 빌드를 실행하고 있다고 생각한다.

8
dgw

나는 하루 종일 문제가 발생하여 404 실화로 보였다.

어쨌든, 나는 방금 그들과 가진 사용자 계정이 프로세스 메모리 리소스 제한 (모든 프로세스)을 치고 있다고 말한 dreamhost 기술 지원 담당자와 채팅을 마쳤습니다. 그게 이상하고 겉보기 htaccess 관련 문제를 일으키는 원인이었습니다. htaccess 파일에서 간헐적 인 404 오류가 발생했습니다.이 파일은 전혀 호출되지 않아야합니다! 그것은 유령의 집 서버와 dreamhost이었다.

분명히, dreamhost가 사용하는 프로세스를 죽이는 로봇은 중간에 웹 프로세스를 죽일 것이고 어떤 이유로 (지금의 좀비) 아파치는 실제로 그 일을 끝내려고 시도한다. (부질없는 끝에서 부차적으로 끝내기 위해 최선을 다한다. 내 최고의 추측이다). 500의 에러를 메인 HTTP 로그에 던지지만, 그렇게 한 후에 실제로는 (위에서 언급 한 표준 파일 -f와 디렉토리 -d htaccess 파일을 사용하여) 재 작성 조건과 규칙을 실행해서는 안됩니다. 새 로그 항목을 쓰지 마라! 새로운 (보이지 않는 사람) 요청은 htaccess 파일의 마지막 줄에있는 인덱스 파일을 트리거합니다

dreamhost 기본 계정의 리소스 제한을 조심하십시오! 당신이 한계를 넘어서고 mod_rewrite 라인으로 htacess를 가졌다면 당신은 할로윈 밤에만 적합하다는 이상한 것들을 보게 될 것입니다 - 보이지 않는 남자, 귀신이 들린 404s! 언데드 프로세스! 좀비 아파치! 자체적으로 움직이는 htaccess! 예.

이것으로 몇 시간의 고통을 피할 수 있기를 바랍니다.

6
sophistry

이를 디버그하는 유일한 방법은 한 번에 하나의 플러그인을 사용하지 않도록 설정하고 다른 플러그인을 사용 중지하기 전에 문제를 재현하려고 할 때입니다. WP 관리와 관련이있는 플러그인으로 시작한 다음 일반 테마 플러그인, 위젯 등으로 이동하십시오.

"찾을 수 없음"페이지를 검사하여 (Opera로 탐색하고 헤더를 표시하는 정보 패널을 열거 나, Firefox를 탐색하고 "Net"패널이 활성화 된 상태에서 Firebug를 활성화) 플러그인이 플러그인을 직접 제공하는지 확인하십시오. 그렇지 않다면 웹 서버의 로그를보고 정확하게 제공 할 수없는 리소스를 찾으십시오. 플러그인이 멋진 리다이렉션 또는 재 작성을 수행하고있을 수 있으므로 브라우저에서 볼 수있는 URL이 반드시 404가되는 것은 아닙니다.

4
Asbjørn Ulsberg

나는 내 자신의 경험 만 관련시킬 수 있으며, 지금까지 한 번에 all 문제를 해결하는 "확정"규칙을 찾지 못했습니다.

DreamHost 설정의 주요 문제점은 메모리 소비를 최소로 유지하기위한 영원한 싸움에서 가능한 한 많은 기능을 제거한다는 의미입니다. 즉, 대역폭 (방문자에게 좋은) 또는 CPU (좋은)를 줄이는 모든 기능을 제거해야합니다. 서버의 경우 DreamHost는 RAM을 제어하는 ​​것처럼 CPU 소비를 적극적으로 제어하지 않습니다). 예를 들어, 이것은 gzip의 HTML + CSS (CPU + RAM을 소비 함) 또는 여러 Minify 플러그인 (RAM도 소비 함)을 제거하는 것을 의미합니다. 캐시가 더 정교할수록 (W3 Total Cache 또는 WP Super Cache를 사용하는 것을 좋아합니다.) 더 많은 RAM도 소비됩니다.

마찬가지로 성능 향상을 위해 MySQL 쿼리 수를 제한하는 많은 플러그인은 대신 RAM을 소비합니다. 따라서 귀중한 RAM을 (를) 소비하지 않으면서도 사이트가 우수한 성능으로 응답 할 수있는 절충점을 찾는 것은 어려운 일입니다!

지금까지 사용량이 많은 사이트에서 가장 좋은 결과는 많은 RAM을 소비하는 Page Speed ​​Optimization 및 Extra Web Security를 ​​선택 취소하고 대신 W3 Total Cache 및 Cloudflare (무료 리버스 프록시 서비스)와의 조합에 의존하는 것입니다. Cloudflare는 "Extra Web Security"모듈과 동일한 기능을 효과적으로 수행하지만 DreamHost 외부에서 실행되므로 문제가 없습니다. W3 Total Cache는 많은 메모리를 소비하지만 일단 페이지가 정적으로 로컬에 저장되면 Cloudflare는 매우 효율적으로이를 캐시하므로 게시물을 편집하는 동안 404/500을 얻을 수 있지만 적어도 방문자는 경험하지 않습니다 (Cloudflare는 정적 페이지도 제공 할 수 있음) DreamHost가 404 또는 500을 제공하더라도).

또한 이 기사 덕분에 FastCGI는 '정상'CGI보다 더 많은 RAM을 사용한다는 것을 알았습니다. 그리고 PHP 5.3이 RAM (보다 적극적인 가비지 수집, 적은 메모리 누수)를 관리하는 것이 더 좋으므로 실험적으로 PHP 5.3 CGI (FastCGI 아님)로 전환했습니다 ), 페이지 속도 최적화 나 추가 웹 보안없이 W3 Total Cache + Cloudflare를 사용하여 사이트를 가속화합니다. 이제 백 오피스는 더 느리지 만 (더 많은 CPU 소비!) 최소한 404/500 (지금까지는 표시되지 않음)이 표시되지 않습니다.

여전히 조합에 만족하지 않으므로 DreamHost의 설정을 계속 조정하여 RAM 소비를 더 줄이고 여전히 충분한 성능을 얻으려고합니다. @dgw가 말했듯이 기능도 필요하기 때문에 많은 플러그인을 사용합니다. DreamHost와 함께 WP을 (를) 호스팅하는 모든 사람이 간단한 블로그 요구를 가지고있는 것은 아닙니다. 사이트가 복잡할수록 더 많은 기능이 필요합니다. 워드 프레스의 아름다움입니다. 실제로 필요한 플러그인을 사용하고 핵심 WP 설치를 단순하게 유지하면됩니다. 몇 가지 요구에 만족합니다. 그러나 플러그인이 반드시 사이트에 "나쁜"것이나 무거운 것은 아닙니다. 그러나 일부는 많은 RAM을 소비 할 수 있습니다 ...

3
Gwyneth Llewelyn

이것은 단지 대략적인 생각입니다. 헤더가 설정된 상태에서 "진짜"404 오류가 발생하면 플러그인을 검색하여 PHP header() function 을 찾아보십시오. 404 번호. 이렇게하면 70 개에서 몇 개까지 플러그인 수를 줄일 수 있습니다. 그럼 당신은 그걸 확인해야합니다.

특정 IDE함수 호출을 검색 할 수있는 Eclipse PDT와 같은 PHP을 사용하면 쉽게 수행 할 수 있습니다.

그것의 옆에 그러나 그것이 효과적으로 작동하는 보증없이, 헤더 설정에 후크하는 코드를 작성하고 어떤 코드가 실제로 잠재적 인 404 (backtrace)를 설정 하는지를 추적하는 것을주는 것입니다. 이 플러그인은 플러그인이 WordPress API 기능을 사용하는 경우에만 작동합니다. PHP 함수를 찾는 첫 번째 방법은 WP API에 관계없이 작동합니다.

3
hakre

필요한 추가 정보 :

1) 왜 그렇게 많은 플러그인입니까?

2) 귀하의 호스팅 제공 업체는 어떤 운영 체제입니까?

3) 어떤 웹 서버입니까?

4) httpd 서버 로그, 특히 오류 로그에 액세스 할 수 있습니까?

5) 이러한 문제를 둘러싼 기간에 오류 로그는 무엇을 말합니까?

(사실, 우리가 "WordPress를 실행하는 평균 J6P가이 정확한 질문을 가지고 있을지도 모른다고 일반화한다면 J6P가 최소한 위의 5 가지 질문에 대답하도록 지시함으로써 시작할 수 있습니다 ...)

2
ZaMoose