我已经在 codeigniter 中拥有了应用程序,现在我正在从这个应用程序开发 android。使用这个应用程序作为服务器端并在 android 中执行客户端控制台。在服务器中我维护 session 。但在 android 请求中我无法维持 session 。相反,我在登录请求的第一个请求时在服务器中创建 GUID 并存储在客户端并存储在客户表中,之后对于每个请求客户端将发送 GUID 进行身份验证。 现在我的问题是从 android codeigniter 获取的每个请求都使用不同的 session id 创建 session (每个请求生成新的 session id)。如何避免创建session并存储到数据库中。(仅适用于android请求,但浏览器请求必须存储)
最佳答案
我设法在 Codeigniter 3.1.3 中扩展 CI_Session。 这是我所做的:
创建文件 application/libraries/Session/MY_Session.php
<?php
defined('BASEPATH') OR exit('No direct script access allowed');
class MY_Session extends CI_Session {
public function __construct(array $params = array())
{
if ( $this->ignore_sessions() )
return;
parent::__construct();
}
function ignore_sessions()
{
$uri = str_replace ("//", "/", $_SERVER['REQUEST_URI']);
if ( strpos($uri, '/ignore_this_controller/') === 0 )
return true;
return false;
}
}
您可能还想将“ session ”添加到您的 config/autoload.php 中:
$autoload['libraries'] = array('session',....)
关于php - Codeigniter session 类禁用特定 Controller ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18734319/