>  기사  >  백엔드 개발  >  Apache 500 오류로 인한 임시 파일 문제 분석 및 해결

Apache 500 오류로 인한 임시 파일 문제 분석 및 해결

高洛峰
高洛峰원래의
2017-02-03 15:26:251306검색

아파치 로그를 살펴보면 mod_fcgid 모듈이 비정상적이며 "피어에 의한 연결 재설정:mod_fcgid:FastCGI 서버에서 데이터를 읽는 중 오류 발생", "스크립트 헤더의 조기 종료:index.php", "프로세스 / usr/... apache/cgi-bin 종료(통신 오류, 예상치 못한 신호 수신 7", 직설적으로 말하면 PHP는 실행을 일찍 종료하고 헤더를 반환하지 않고 종료됩니다.

오래 인터넷을 검색했습니다. 이러한 오류를 바탕으로 시간을 보냈지만 만족스러운 결과를 찾지 못했습니다. 심지어 mod_fcgid 모듈 구성에 문제가 있다고 오해하는 경우도 있었습니다.

해결책을 찾기 전에는 PHP가 문제가 있음에도 불구하고 계속 생각했습니다. 최근에는 조금 느려졌지만 적어도 실행될 수 있다는 것은 구성에 문제가 없다는 것을 의미합니다. ; 게다가 지금 phpinfo()가 실행되면 프로그램은 여전히 ​​실행될 수 있으며 오류 패턴을 다시 정리했습니다. 포함이 너무 많은 mvc 프레임워크에서는 500개의 내부 오류가 발생합니다. 이는 php가 실행되었다는 의미입니다. 왜 이러한 리소스를 요청할 때만 임시 파일이 이동될 수 있습니까?

df -h

를 실행하여

Filesystem  Size  Used  Avail Use%  Mounted on
/dev/sda1  6.8G  6.5G  17M  100%  /
...

사실임을 확인했습니다. /가 폭발했습니다

그래서 대용량 파일을 검색해 보세요

find / -type f -size +300M

Xdebug는 많은 성능 분석 파일을 생성하며 모두 다음과 같이 기록됩니다. 100M.

/tmp/profiler/cachegrind.out.1336
/tmp/profiler/cachegrind.out.1329
....

그래서 php.ini를 수정하고 분석 파일을 다른 곳에 저장하거나 전혀 저장하지 않습니다.

xdebug를 삭제합니다. 성능 분석 디렉터리 및 php var 추적 디렉터리

# close xdebug profiler in php.ini
xdebug.profiler_enable = off

하드 디스크 상태를 다시 확인하여 26%가 사용되고 4.9G가 남아 있는 것을 확인합니다.

rm -rf /tmp/profilter
rm -rf /tmp/trace

httpd 서버를 다시 시작하거나 웹을 새로 고칠 필요도 없으며 다시 정상적으로 실행됩니다.

향후 문제를 방지하려면 예약된 청소 소프트웨어인 tmpwatch를 설치해야 합니다. /etc/cron.daily/tmpwatch 구성의 타이밍 시간

Filesystem  Size  Used  Avail Use%  Mounted on
/dev/sda1  6.8G  1.7G  4.9M  26%  /
...

~ 7d(일 단위여야 함)

usr/sbin/tmpwatch "$flags" 30d /var/tmp

정기적으로 정리

Apache 500 오류로 인한 임시 파일 문제 분석 및 해결에 대한 자세한 내용은 PHP 중국어 웹사이트를 참고하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.