> 백엔드 개발 > PHP 문제 > PHP에서 캐시 시간을 설정하는 방법

PHP에서 캐시 시간을 설정하는 방법

藏色散人
풀어 주다: 2023-03-05 14:40:01
원래의
3779명이 탐색했습니다.

PHP에서는 "header()" 메소드를 통해 페이지 캐시를 설정할 수 있으며 구문은 "header("Pragma: 캐시");$ExpStr = "Expires: ".gmdate("D, d M Y H :i: s", ),GMT";".

PHP에서 캐시 시간을 설정하는 방법

권장: "PHP Video Tutorial"

php header()는 페이지를 설정합니다. 캐시 캐시

header() 함수는 다음에서 널리 사용됩니다. php, 아래에서는 페이지 캐싱을 달성하기 위해 이를 사용하는 몇 가지 방법을 소개하지만 헤더를 사용하기 전에 공백을 포함한 어떤 출력도 수행할 수 없다는 점에 유의해야 합니다.

매뉴얼에서 우리 모두는. 코드가 차단되지 않도록 캐시를 설정하는 방법을 작성하세요. 캐시, 코드는 다음과 같습니다:

header("Cache-Control: no-store, no-cache, must-revalidate, post-check=0, pre-check=0"); // HTTP/1.1 
header("Expires: Sat, 26 Jul 1997 05:00:00 GMT"); // Date in the past 
header("Pragma: no-cache"); // Date in the past
로그인 후 복사

그리고 설정할 때 헤더 앞에 출력이 없을 수 있다는 점도 주의해야 합니다. 그렇지 않으면 헤더 설정이 됩니다. 유효하지 않지만 페이지에 캐시를 설정하는 방법에 대해 작성한 적이 없습니다. E와 같은 몇 가지 방법이 있다는 것을 알고 있습니다. 물론 출력하기 전에 TAG 등에 대한 간단한 설정이 있습니다. 내용을 md5하고 e-태그로 처리합니다. 변경되지 않는 한 영향은 없습니다. 코드는 다음과 같습니다.

$seconds_to_cache = 3600;  
$ts = gmdate("D, d M Y H:i:s", time() + $seconds_to_cache) . " GMT";  
header("Expires: $ts"); header("Pragma: cache");  
header("Cache-Control: max-age=$seconds_to_cache");
로그인 후 복사

캐시 ​​1시간, 주로 만료 시간 때문입니다. 날짜가 아닌 gmdate로 설정해야 하며 다른 것도 유사합니다. Maxage는 만료와 일치해야 합니다.

PHP에서 생성된 동적 콘텐츠의 경우 콘텐츠를 강제로 캐싱하기만 하면 됩니다. 예를 들어, 다음 코드에서는 브라우저가 1개월 동안 파일을 캐시해야 합니다.

<?php 
  header("Cache-Control: public"); 
  header("Pragma: cache"); 
  $offset = 30*60*60*24; // cache 1 month 
  $ExpStr = "Expires: ".gmdate("D, d M Y H:i:s", time() + $offset)." GMT"; 
  header($ExpStr); 
?>
로그인 후 복사

정적 파일의 경우 대부분의 서버는 네 번째 수준을 달성하려는 경우 세 번째 수준을 지원합니다. 캐싱의 효과는 이전 GZIP 압축과 같은 레이어를 아웃소싱하기 위해 PHP를 사용하고 이를 처리하기 위해 APACHE 모듈인 Mod_expires가 파일에 만료 헤더를 추가하는 것을 지원하는 것입니다. . 블로그 디렉토리에 다음 코드를 추가하세요. 서버에 mod_expires 모듈이 설치되어 있으면 자동으로 적용됩니다. 이미지 등은 1개월 동안 강제로 캐시되고 html 문서는 10분 동안 캐시됩니다. 모듈이 설치되지 않으면 오류가 발생하지 않습니다.

<IfModule mod_expires.c> 
ExpiresActive On 
ExpiresByType image/gif A2592000 
ExpiresByType image/jpeg A2592000 
ExpiresByType image/png A2592000 
ExpiresByType application/x-shockwave-flash A2592000 
ExpiresByType text/css A2592000 
ExpiresByType application/x-javascript A2592000 
ExpiresByType text/html A600 
</IfModule>
로그인 후 복사

여기에 있습니다. mod_expires에 대한 자세한 설명서와 튜토리얼이 있지만 대부분의 서버에는 mod_expires가 설치되어 있지 않습니다.

위 내용은 PHP에서 캐시 시간을 설정하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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