Codeigniter 3 Session not working With PHP 7.1.4
Asked Answered
C

2

8

I have an application built with Codeigniter 3 HMVC.The application was working fine on PHP 5.6 version, But after upgrading my PHP version to 7.1.4 I was not able to log in into my application. After a complete checkup I found that session is not setting at all.

I role back to PHP 5.6 and session was working fine again while switching to PHP 7.1.4 bring the "session not working" issue back.

I tried altering some config value like cookie prefix and cookie save name etc, nothing seems to fix it.

Can anyone please help.

Corazoncorban answered 1/5, 2017 at 12:15 Comment(10)
Please, read How to Ask Question and provide an MCVE : Minimal, Complete, and Verifiable Example. This is necessary to reproduce your issue and this is the most useful way for you to learn how to find and fix the problem yourself.Meningitis
The question is not about my personal code... it's about a open source framework. Do you want me to paste the whole code of codeigniter 3 here. Anyone who knows codeigniter already have the code.Corazoncorban
It's not a basic level issue like I forgot to auto-load or manually load the session library, this is probably a bug in CI 3.Corazoncorban
How do you know it's not in the application code the source of the problem?Meningitis
I mean: there are changes in php7 that involves the session system management in CI3?Meningitis
Because : >> sudo a2dismod php5.6 >> sudo a2enmod php7.1 >> sudo service apache2 restart makes the session not working where >> sudo a2dismod php7.1 >> sudo a2enmod php5.6 >> sudo service apache2 restart makes the session working fine without changing a single character. Hope you got it.Corazoncorban
So in a fresh install of CI3 with php7.1 happens the same problem?Meningitis
yes @Meningitis it might happen as CI3 was for PHP 5.6 + but PHP 7 has a lot of change in functions ... and I'm also focused on find that answer. What should be the change in session library.Corazoncorban
That's the point "it might happen". You should test this yourself and then, when you are sure it not depends by your app, come here with a question (and more useful info). Even though I think it's better to ask directly to the project maintainer.Meningitis
I got my sessions working again by rolling PHP back to 7.0Sidras
C
16

I found that the issue is with some earlier version of Codeigniter 3 and this is a bug already reported in their website.The underlying session bug has been fixed on:

  • 3.1.2
  • 3.1.3
  • 3.1.4

So in the latest version of Codeigniter 3 this issue doesn't happen.

Solutions:

If you are already in a faulty version codeigniter consider replacing system folder with latest version's one. Version 3.1.6 at the time writing this.

Corazoncorban answered 6/5, 2017 at 4:20 Comment(1)
I have the same problem with CI 3.1.9 and PHp 7.2.34Electrophoresis
D
0

In codeigniter 3.1.9 and PHP 7.2 on XAMPP(windows), I checked my application/config/config.php and saw the sess_driver was database:

$config['sess_driver'] = 'database';
$config['sess_cookie_name'] = '165_session';
$config['sess_expiration'] = 7200;
$config['sess_save_path'] = "ci_sessions";

So I created the database ci_sessions with:

CREATE TABLE IF NOT EXISTS `ci_sessions` (
        `id` varchar(128) NOT NULL,
        `ip_address` varchar(45) NOT NULL,
        `timestamp` int(10) unsigned DEFAULT 0 NOT NULL,
        `data` blob NOT NULL,
        KEY `ci_sessions_timestamp` (`timestamp`)
);

And it worked.

Disposed answered 22/1, 2021 at 6:30 Comment(0)

© 2022 - 2024 — McMap. All rights reserved.