2013-01-03 3 views
1

PHP로 Nginx fastcgi_cache를 지울 수있는 기본 제공 방법이 있습니까? 나는 통과하고 수동으로 모든 캐시 파일을 삭제하는 PHP 스크립트를 작성할 수 있다는 것을 알고 있지만 너무 많은 해킹처럼 보입니다. 캐시를 :) 청소, 캐시를 청소하려는 경우 (즉,이 경우에는 그냥 : 당신은 그냥이 아니라 정말 간단합니다PHP로 fastcgi_cache를 지우려면 어떻게해야합니까?

rm -Rf /tmp/nginx/* 

전화

fastcgi_cache_path /tmp/nginx keys_zone=myzone:8m 

이있는 경우

답변

9

폴더)

+0

고마워! PHP를 사용하여이 작업을 수행하려고합니다. 내장 된 PHP 함수가 있습니까, 아니면 PHP unlink 함수를 사용하여 파일을 삭제해야합니까? – amandawulf

+1

ehm ... 기술적으로'unlink()'는 내장 함수입니다. 재귀에 대해 이야기 할 때,이 주석을 살펴보십시오. http://php.net/manual/de/function.unlink.php#101261 ​​factcgi-cache는 고정 된 깊이를 가지고 있으므로 다음과 같이 할 수 있습니다 'array_map ('unlink', glob ("/ tmp/nginx/*/*/*"));'. '*'의 숫자는 설정에 따라 다릅니다. 그들은 빈 디렉토리를 유지할 수 있습니다, 그들은 일반적으로 해를 끼치 지 않습니다 :) – KingCrunch

+0

경고 : 수동으로 캐시를 삭제하면 nginx가 제거하려고 할 때 존재하지 않기 때문에 error.log에 많은 항목이 생깁니다. 예 : [crit] 8282 # 0 : unlink() "/ etc/nginx/cache/route"가 실패했습니다 (2 : 해당 파일이나 디렉토리가 없습니다) – SkarXa

관련 문제