私はTankAuth認証ライブラリでCodeigniterを使用しています。ユーザーがログインが必要なページに到達し、まだログインしていない場合、ユーザーはログインページにリダイレクトされます。
問題:ローカルホストでは、ウェブページを更新するときに非常に頻繁に、ページの読み込みが開始されるまでに最大30秒かかる場合があります。ページが読み込まれるのを待った後、読み込まれるページがリダイレクトされたログインページであるため、ログアウトしたように見えることがあります。ライブサーバーでは、ページが読み込まれるまでの長い遅延は発生しませんが、ユーザーは一見ランダムにログアウトする可能性があります。
ここで何が起こっているのですか?コードのどの部分が長いロード時間を引き起こしているのかを知るにはどうすればよいですか?そして、ランダムなログアウトの原因は何ですか?
PHPコード(コントローラー)
function index() {
$this->load->module('auth');
if(!$this->auth->tank_auth->is_logged_in()) {
redirect('login');
}
// If user registered/logged in after landing on another page
if($this->session->userdata('entry_url')) {
$entry_url = $this->session->userdata('entry_url');
$this->session->unset_userdata('entry_url');
redirect($entry_url); // redirect back to entry url before registration/login
}
// Set User Session Variables
$user_id = $this->session->userdata('user_id');
$this->load->model('main_model');
$name = $this->main_model->get_user_first_last_name($user_id);
$this->session->set_userdata('first_name', $name['first_name']);
$this->session->set_userdata('last_name', $name['last_name']);
$this->load->view('main');
config.php
$config['sess_cookie_name'] = 'cisession';
$config['sess_expiration'] = 0;
$config['sess_expire_on_close'] = FALSE;
$config['sess_encrypt_cookie'] = FALSE;
$config['sess_use_database'] = TRUE;
$config['sess_table_name'] = 'ci_sessions';
$config['sess_match_ip'] = FALSE;
$config['sess_match_useragent'] = TRUE;
$config['sess_time_to_update'] = 300;
$config['cookie_prefix'] = "";
$config['cookie_domain'] = "";
$config['cookie_path'] = "/";
$config['cookie_secure'] = FALSE;