테스트 사이트 - 개발 중인 베타 버전입니다

이 if문 구절에 대해... 채택완료

Winzr 7년 전 조회 3,202

</p>

<p>    if($filetime && $filetime < (G5_SERVER_TIME - 86400 * $cache_time)) { //10분 (60초 *10)

                    @unlink($cache_file);

                    $cache_fwrite = true;

                }</p>

<p>

 

위 코드는 extend에서 실행 됩니다.

 

상대적인 시간으로 하루를 기준으로 해두면 환경설정에서 세션/캐시 등 삭제하면

그 삭제한 시점으로 다시 돌아가버립니다..

 

매일 밤 24시 마다 위 코드가 실행되게 하고 싶은데

(G5_SERVER_TIME - 86400 * $cache_time)

이 구문을 어떻게 고쳐야 할까요?

 

$cache_time의 값은 1 입니다.

댓글을 작성하려면 로그인이 필요합니다.

답변 2개

채택된 답변
+20 포인트
플래토
7년 전

PHP는 Call에 의해서 실행되는 웹페이지 구동방식입니다.

 

따라서, 

띄워놓고 화면을 무한정 놔둔다면

 

JavaScript의 타이머를 이용해서

재호출 하면서 시간체크를 하거나

 

Linux/Unix 에서 제공하는 crantab 기능을 이용하라고 letsgolee님이 안내하신거구요

 

그누보드에서는

https://sir.kr/g5_plugin/3888

이런 형태로 강제 자동실행 모듈들을 이용하실수있습니다.

 

자세한 설명/문의는 해당 플러그인 제공자분께 문의하시면됩니다.

로그인 후 평가할 수 있습니다

댓글을 작성하려면 로그인이 필요합니다.

l
7년 전

매일 밤마다 일정 시간에 실행되게 하려면 cron을 이용하는 방법을 해야 할 것 같네요. 행당 호스팅업체에서 cron을 지원해주는지 확인하셔야 할 듯요. php자체에서는 일정 시간에 서버에서 실행되지 않기 때문에 직접 그 시간에 접속을 하거나 혹은 브라우져를 계속 띄워놔서 자바스크립트를 통해 일정시간에 접속하게 만들어야 할 겁니다. 혹은 기준 시간이 넘어간 상태에서 서버에 누군가 최초 접속할 때 위의 코드가 실행되게 하는 방법도 있습니다. 그것은 세션을 이용하면 되는데 문제는 위의 코드가 캐쉬 파일 삭제와 관련되기 때문에 최초 접속자에게까지 영향을 미칠 가능성이 있습니다.

로그인 후 평가할 수 있습니다

답변에 대한 댓글 1개

W
Winzr
7년 전
"php 자체에서는 일정 시간마다 서버에서 실행되지 않는다"라고 하신 말씀은
호스팅 업체에서 cron을 지원하지 않는 경우에만 해당되는 내용인가요?

댓글을 작성하려면 로그인이 필요합니다.

답변을 작성하려면 로그인이 필요합니다.

로그인