【问题标题】:codeigniter session is not working at godaddy hostingcodeigniter 会话在 godaddy 主机上不起作用
【发布时间】:2017-11-06 02:05:33
【问题描述】:

我在 godaddy 主机上创建了两个 codeignter 控制器,代码如下 我的会话.php

<?php
defined('BASEPATH') OR exit('No direct script access allowed');

class Mysession extends CI_Controller {
function __construct() {
parent::__construct();
$this->load->database();
$this->load->library('session');
$this->load->helper('url');
}

    public function index()
    {
        $this->load->library('session');
        $this->session->set_userdata('fullname', 'David Beckham');  
        echo "<a href='".base_url()."index.php/mysession2'>Click here </a>";    


    }

}

下一个控制器是 Mysession2.php

<?php
defined('BASEPATH') OR exit('No direct script access allowed');

class Mysession2 extends CI_Controller {
function __construct() {
parent::__construct();
$this->load->database();
$this->load->library('session');
$this->load->helper('url');

}

    public function index()
    {
        $this->load->library('session');
        echo $this->session->userdata('fullname');  
    }

}

我对这些文件的假设是http://goldmarktravel.com.au/index.php/mysession 可能会将会话名称全名设置为值“david beckham”,当我尝试访问http://goldmarktravel.com.au/index.php/mysession2 时它可能会显示该值。但它没有显示任何数据。它在除 Godaddy 托管之外的其他服务器上运行良好。

【问题讨论】:

  • 你需要仔细检查配置!本地和服务器环境不同
  • 显示您的会话和 cookie 配置。您的问题几乎可以肯定与设置有关。另外,您是否正确设置了$config['base_url']
  • 您是否在 config.php 中设置了会话保存路径,请使用您的会话和 cookie config.php 编辑您的问题

标签: php codeigniter session


【解决方案1】:

试试这个

$config['sess_driver'] = 'files';
$config['sess_cookie_name'] = 'ci_sessions';
$config['sess_expiration'] = 7200;
$config['sess_save_path'] = APPPATH . 'cache/sessions/';
$config['sess_match_ip'] = TRUE;
$config['sess_time_to_update'] = 300;
$config['sess_regenerate_destroy'] = TRUE;

/*
|--------------------------------------------------------------------------
| Cookie Related Variables
|--------------------------------------------------------------------------
|
| 'cookie_prefix'   = Set a cookie name prefix if you need to avoid collisions
| 'cookie_domain'   = Set to .your-domain.com for site-wide cookies
| 'cookie_path'     = Typically will be a forward slash
| 'cookie_secure'   = Cookie will only be set if a secure HTTPS connection exists.
| 'cookie_httponly' = Cookie will only be accessible via HTTP(S) (no javascript)
|
| Note: These settings (with the exception of 'cookie_prefix' and
|       'cookie_httponly') will also affect sessions.
|
*/
$config['cookie_prefix']    = '';
$config['cookie_domain']    = '.yourdoamin.com';
$config['cookie_path']      = '/';
$config['cookie_secure']    = FALSE;
$config['cookie_httponly']  = FALSE;

而不是在每个控制器上加载库,您可以在 config/autoload.php 上自动加载它

$autoload['libraries'] = array('session');

【讨论】:

  • 我做了同样的事情但没有工作,关于 Godaddy 托管是否有任何问题,所以我们应该考虑在 codeigniter 上进行会话????
【解决方案2】:
$config['sess_save_path'] = BASEPATH. 'cache/sessions/';

【讨论】:

  • 请解释您的代码。仅代码答案不好。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-11-17
  • 1970-01-01
相关资源
最近更新 更多