이 if문 구절에 대해...
본문
if($filetime && $filetime < (G5_SERVER_TIME - 86400 * $cache_time)) { //10분 (60초 *10)
@unlink($cache_file);
$cache_fwrite = true;
}
위 코드는 extend에서 실행 됩니다.
상대적인 시간으로 하루를 기준으로 해두면 환경설정에서 세션/캐시 등 삭제하면
그 삭제한 시점으로 다시 돌아가버립니다..
매일 밤 24시 마다 위 코드가 실행되게 하고 싶은데
(G5_SERVER_TIME - 86400 * $cache_time)
이 구문을 어떻게 고쳐야 할까요?
$cache_time의 값은 1 입니다.
!-->답변 2
PHP는 Call에 의해서 실행되는 웹페이지 구동방식입니다.
따라서,
띄워놓고 화면을 무한정 놔둔다면
JavaScript의 타이머를 이용해서
재호출 하면서 시간체크를 하거나
Linux/Unix 에서 제공하는 crantab 기능을 이용하라고 letsgolee님이 안내하신거구요
그누보드에서는
이런 형태로 강제 자동실행 모듈들을 이용하실수있습니다.
자세한 설명/문의는 해당 플러그인 제공자분께 문의하시면됩니다.
매일 밤마다 일정 시간에 실행되게 하려면 cron을 이용하는 방법을 해야 할 것 같네요. 행당 호스팅업체에서 cron을 지원해주는지 확인하셔야 할 듯요. php자체에서는 일정 시간에 서버에서 실행되지 않기 때문에 직접 그 시간에 접속을 하거나 혹은 브라우져를 계속 띄워놔서 자바스크립트를 통해 일정시간에 접속하게 만들어야 할 겁니다. 혹은 기준 시간이 넘어간 상태에서 서버에 누군가 최초 접속할 때 위의 코드가 실행되게 하는 방법도 있습니다. 그것은 세션을 이용하면 되는데 문제는 위의 코드가 캐쉬 파일 삭제와 관련되기 때문에 최초 접속자에게까지 영향을 미칠 가능성이 있습니다.
답변을 작성하시기 전에 로그인 해주세요.