> 백엔드 개발 > PHP 튜토리얼 > Apache 500 오류로 인한 임시 파일 문제 분석 및 해결

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

高洛峰
풀어 주다: 2023-03-05 11:06:01
원래의
1418명이 탐색했습니다.

아파치 로그를 살펴보면 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 중국어 웹사이트를 참고하세요!

관련 라벨:
원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
최신 이슈
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿