Codeigniter Session正在使用localhost但不在Web服务器上

时间:2015-11-23 02:40:14

标签: php codeigniter session

我正在尝试在我的项目中使用会话。它适用于localhost,但不适用于Web服务器。我在stackoverflow和ellislab上阅读了一些关于它的文章,但它对我的项目没有用。可能问题在于创建辅助类。

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

class Memberlogin extends CI_Controller {

//protected $CI;

function __construct()
{
    $CI =& get_instance();

    parent::__construct();

    $CI->load->library('session');
    //$this->load->library('form_validation');
    //$this->load->helper(array('form', 'url'));
    $CI->load->helper('date');
    $CI->load->helper('ip_address');
    $CI->load->model('Sql_model');
}

现在错误是:

A PHP Error was encountered

Severity: Notice

Message: Trying to get property of non-object

Line Number: 14

A PHP Error was encountered

Severity: Error

Message: Call to a member function library() on a non-object

Line Number: 14

3 个答案:

答案 0 :(得分:0)

试试这段代码,

function __construct()
{
    parent::__construct();

    $this->load->library('session');
    $this->load->helper('date');
    $this->load->helper('ip_address');
    $this->load->model('Sql_model');
}

如果class在controllers目录中,您可以通过扩展CI_Controller直接获取CI实例并使用$this

答案 1 :(得分:0)

然后,尝试不调用get_instance()函数。就像文档说:

{{1}}

答案 2 :(得分:0)

这会让你发疯。但它确实有效。

autoload.php

$autoload['libraries'] = array('database', 'session');
$autoload['helper'] = array('url','date','ip_address');

加载__constructor

中的模型
public function  __construct()
{
    parent::__construct();
    $this->load->model('Sql_model');
}