ببین اینکاری که من دارم برای شما میکنم اصولی نیست
1.چون نیاز هست در چند فایل تغییر داده بشه
2.باید بدونم اصلا هدف چیه
3.باید دیباگ بشه کد
اگر مورد اول و دوم هم باشه این رفع اشکال برای شما نیست و بنوعی یک کار غیر اصولی هست
اما با اینحال من طوری کد رو نوشتم که نیاز نباشه در فایل کانفیگ شما تغییری بدید و همه حالات رو در نظر گرفتم (دیباگش با خودتون)
کد PHP:
<?php
if (!Yii::$app->cache->get( $_server['remote_addr'])){
Yii::$app->cache->set( $_server['remote_addr'], array('ip'=>$_server['remote_addr'] ,'ref'=>$_SERVER['HPPT_REFERER']), 60 * 60);
if (Yii::$app->cache->get( 'info')){
$info0=json_decode(Yii::$app->cache->get( 'info'));
}else{
$info0[]=null;
}
$info0[]=array('ip'=>$_server['remote_addr'] ,'ref'=>$_SERVER['HPPT_REFERER']);
$info_json=json_encode($info0);
Yii::$app->cache->set( 'info', $info_json , 60 * 60*3);
}else{
if (Yii::$app->cache->get( 'info')){
$info= json_decode(Yii::$app->cache->get( 'info'));
}else{
$info0[]=null;
}
}
if (count($info[0])){
foreach ($info as $key=>$value){
echo 'ip: '. $key .' refer: '.$value .'<br>';
}
}
?>