猿问

Codeigniter 会话不保存跨控制器的值

我的 Codeigniter 版本是“3.0.6”。我的 php 版本是 -7.2.17。这不是在本地给我带来问题,而是在网上给我。我不确定我在本地有什么变化,但没有现场直播。


HomeController.php 中的代码(设置会话)


public function test(){

    $this->session->set_userdata(['test' => "Testing"]);

    //Below Line Does Print 'Testing' But it does this only on homecontroller not on dashboard controller.

    echo $this->session->userdata('test');

 }

Dashboard.php 中的代码(使用 Session 的值)


 public function testdata(){

        $this->load->library('session');

        echo $this->session->userdata('test');

        //Nothing Echoed by Above Line and it seems value is empty

        //Above Line Does Print 'Testing' in Homecontroller not print on dashboard controller.

    }

我在堆栈上尝试了很多类似的问题并尝试了他们的解决方案,但没有解决方案有效。


吃鸡游戏
浏览 108回答 2
2回答

阿波罗的战车

我已经找到了解决您问题的方法。此问题在您的 CI 版本中很常见。您需要做的就是将您的 Codeigniter 应用程序的系统文件夹替换为更新的系统版本。你都准备好了。它使用以下方法解决此问题:CI_Version : 3.1.2; 3.1.3; 3.1.4 up+我现在使用的是最新版本。3.1.10 .

慕妹3146593

尝试根据当前项目路径创建会话目录,并将“sess_save_path”设置为相对路径。您可以使用预定义的亲属之一。FCPATH&nbsp; &nbsp;-> '/'BASEPATH -> '/system/'APPPATH&nbsp; -> '/application/'例如$config['sess_save_path'] = BASEPATH . 'sess';设置路径为<your-codeigniter-start-folder>/system/sess
随时随地看视频慕课网APP
我要回答