이것은 나에게도 중요한 문제였습니다. 우리는 세션 파일의 1000 초를 초 단위로 얻고있었습니다.
이 이유는 세션 구성 요소가 AppCOntroller에로드되고 우리 사이트의 URL에 원격 서버에서 몇 초마다 충돌하는 수많은 cron 작업이 있기 때문입니다. 쿠키가 서버 userAgent에서 비활성화되었으므로 cron이 실행될 때마다 새 세션을 만들어야합니다 (쿠키가 활성화 된 일반 userAgent는 동일한 세션 파일을 사용합니다).
두 가지 해결 방법이 있습니다. 하나는 세션 구성 요소를 AppController 밖으로 이동하여 필요한 특정 컨트롤러로 이동하는 것입니다. 내가 선택한 솔루션 인 다른 하나는 실행되는 각 cron 다음에 session_destroy() PHP 명령을 사용하는 것입니다. 한 걸음 더 나아가 그것을 촬영하려면 내가 그 안에 Cotroller/CronAppController.php이있는 플러그인 크론을했습니다 :
/**
* class to extend if you want the session destroyed after an action has completed.
* Useful for limiting cake session file storage overload
*
*/
class CronAppController extends AppController {
/**
* set this to true in a controller action if you want the session destroyed
*/
public $cronAction = false;
function afterFilter(){
parent::afterFilter();
if($this->cronAction){
session_destroy();
}
}
}
는 그런 다음 조치를 한 후, Cron.CronAppController와 그것에 크론 작용을 컨트롤러를 확장 $ this-> cronAction = true를 설정하십시오; 너는 가서 좋다!