Неустранимая ошибка: session_start () после обновления до Codeigniter 3

Я обновился с Codeigniter от 2 до 3 и теперь я получаю эту ошибку с моим Библиотека CAS:

A PHP Error was encountered

Severity: Error

Message: session_start() [function.session-start]: Failed to initialize storage module: user (path: C:\Windows\Temp)

Filename: CAS/Client.php

Line Number: 3588

Backtrace:

Это как-то связано с сессией, которая, как мне кажется, CI3.0 обрабатывает иначе, чем CI2.0.

У меня есть следующее в config.php

$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

;

Любая помощь будет высоко оценена. Благодарю.

NEW:

Я сделал чистую установку CI3.0.4, и, похоже, проблема в библиотеке аутентификации CAS:
https://github.com/eliasdorneles/code-igniter-cas-library

Он работал с CI 2.x, но не с CI3.0. Если я просто не загружаю модуль CAS, все нормально работает с сеансом (у меня нет проблем с установкой сеансов и т. Д.). Но как только я загружаю CAS, возникает проблема с линией session_start() на CAS / Client.php. Есть идеи?

3

Решение

Вы не настроили свой sess_save_path, убедитесь, что папка также chmod 700

$config['sess_driver'] = 'files';
$config['sess_cookie_name'] = 'ci_session';
$config['sess_expiration'] = 7200;
$config['sess_save_path'] = FCPATH . 'application/cache/';
$config['sess_match_ip'] = FALSE;
$config['sess_time_to_update'] = 300;
$config['sess_regenerate_destroy'] = FALSE;

Сессия автозагрузки

$autoload['libraries'] = array('session');
7

Другие решения

Вы можете попробовать код, как показано ниже, у меня работает

// before session_start();

ini_set('session.save_handler', 'files');

// make sure it is writeable

ini_set('session.save_path', 'c:\temp');

session_start();
1

Я была такая же проблема.
Я исправил это, отредактировав библиотеки / Cas.php (строка 55) и добавив ложный аргумент, чтобы phpCAS не запустил сам сеанс.
phpCAS :: client (CAS_VERSION_2_0, $ cas_url [‘host’], $ cas_url [‘port’], $ cas_url [‘path’], ложный);

0

Я решил проблему. Откройте файл phpCAS: CAS / Client.php.
Перейдите к строке 3580 (в «private function _renameSession»).

Изменение

session_start();

в

if (! isset($_SESSION)) {
session_start();
}

Извините за мой сломанный английский.

0
По вопросам рекламы [email protected]