
Como alterar as configurações do framework Codeigniter para salvar as sessões no Banco de Dados.
Se você deseja salvar as sessões no Banco de Dados geradas pelo Codeigniter , o primeiro passo deverá ser de criar a tabela.
Para cada versão do framework, existe uma estrutura especifica.
Utilize esta estrutura:
CREATE TABLE IF NOT EXISTS `ci_sessions` (
`id` varchar(40) NOT NULL,
`ip_address` varchar(45) NOT NULL,
`timestamp` int(10) unsigned DEFAULT 0 NOT NULL,
`data` blob NOT NULL,
PRIMARY KEY (id),
KEY `ci_sessions_timestamp` (`timestamp`)
); CREATE TABLE IF NOT EXISTS `ci_sessions` ( session_id varchar(40) DEFAULT '0' NOT NULL, ip_address varchar(45) DEFAULT '0' NOT NULL, user_agent varchar(120) NOT NULL, last_activity int(10) unsigned DEFAULT 0 NOT NULL, user_data text NOT NULL, PRIMARY KEY (session_id), KEY `last_activity_idx` (`last_activity`) );
Observação: Repare que as tabelas são diferentes para cada versão do Codeigniter.
Crie a tabela de acordo com a versão que você está utilizando.
Agora vamos alterar as configurações do framework para ele passar a salvar os dados no banco.
Edite o seguinte arquivo: application/config/config.php
Altere as configurações de sessão substituindo por este valores.
$config['sess_driver'] = 'database'; $config['sess_cookie_name'] = 'ci_sessions'; $config['sess_expiration'] = 7200; $config['sess_save_path'] = 'ci_sessions'; $config['sess_match_ip'] = FALSE; $config['sess_time_to_update'] = 300;
Repare no “$config[‘sess_driver’]” aonde estou informando que o “driver” utilizado será o banco de dados “database”.
Já no “$config[‘sess_save_path’]” está o nome da tabela que criamos.
Não se esqueça de configurar também o arquivo “application/config/autoload.php” para carregar a biblioteca da sessão:
$this->load->library('session');
Negar /.env no nginx parece resolvido até alguém pedir /wp-content/uploads/.env ou backup.sql. As regras que testei e os furos que…
O Search Console marca suas páginas 2, 3 e 4 como alternativas da página 1? Ajuste a tag canônica do…
Um módulo de terceiro plantou um banner no topo da loja e você não quer desinstalar nada: tire o bloco…
Importou o banco de produção e o site pula para o domínio antigo? Rode o UPDATE em core_config_data, limpe o…
Seu catch trata pedido inexistente e banco fora do ar do mesmo jeito. Veja como criar exceção customizada em PHP…
O form do admin salva mas abre em branco na edição: veja o getData() indexado pelo id da entidade e…