会话在新服务器中不起作用

时间:2017-01-06 11:34:46

标签: php codeigniter session server

我将我的代码点火器项目移动到新服务器但是会话不能在其他页面上工作,但在同一页面控制器功能中就像

public function login()
{
    $typo = "teacher";
    $co=array('ededge_typo' => $typo);
    $this->session->set_userdata($co);
    $this->load->view('header');
}

在视图中

<?php var_dump($this->session->userdata('ededge_typo'))); ?>

但我输出Null

当我在localhost中尝试时,我得到了

C:\wamp\www\cii\application\views\header.php:1:string 'Teacher' (length=7)

请帮帮我

我在codeigniter中的配置是

$config['sess_driver'] = 'files';
$config['sess_cookie_name'] = 'ci_session';
$config['sess_expiration'] = 7200;
$config['sess_save_path'] = NULL;
$config['sess_match_ip'] = FALSE;
$config['sess_time_to_update'] = 300;
$config['sess_regenerate_destroy'] = FALSE;
$config['time_reference'] = 'gmt';

3 个答案:

答案 0 :(得分:0)

您是否尝试在视图页面上通过print_r($ _ SESSION)打印会话。打印它,如果您的会话已设置,它将显示给您。

答案 1 :(得分:0)

使用数据库会话

https://codeigniter.com/userguide3/libraries/sessions.html

$config['sess_driver'] = 'database';
$config['sess_cookie_name'] = 'ci_session';
$config['sess_expiration'] = 7200;
$config['sess_save_path'] = 'ci_sessions';
$config['sess_match_ip'] = FALSE;
$config['sess_time_to_update'] = 300;
$config['sess_regenerate_destroy'] = FALSE;

感谢。

答案 2 :(得分:0)

$config['sess_driver'] = 'files';
$config['sess_save_path'] = '/var/www/html/my_app/tmp/';

来自codeigniter文档:

  

&#39; sess_save_path&#39;   |   |保存会话的位置,依赖于驱动程序。   |   |对于&#39;文件&#39;驱动程序,它是可写目录的路径。   |警告:仅支持绝对路径!   |   |对于&#39;数据库&#39;司机,它是一个表名。   |请阅读其他会话驱动程序的格式手册。   |   |重要提示:您需要设置有效的保存路径!

如果您不想在每次更换服务器时手动更改该文件夹,可以尝试使用

$config['sess_save_path'] = FCPATH . 'tmp/';
$config['sess_save_path'] = BASEPATH . 'tmp/';

fcpath应为xxx / my_app / tmp 和basepath应为xxx / my_app / application / tmp

两个文件夹都应该是可写的。