2017-01-06 2 views
0

я переехал мой код-воспламенитель проект на новый сервер, но сессии не работает через другую страницу, но в той же функции страницы контроллера, каксессия не работает в новом сервере

public function login() 
{ 
    $typo = "teacher"; 
    $co=array('ededge_typo' => $typo); 
    $this->session->set_userdata($co); 
    $this->load->view('header'); 
} 

ввиду

<?php var_dump($this->session->userdata('ededge_typo'))); ?> 

, но я получаю выход Null

, когда я пытался в локальном хосте я получить

C:\wamp\www\cii\application\views\header.php:1:string 'Teacher' (length=7) 

пожалуйста, помогите мне

моей конфигурации в CodeIgniter является

$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; 
$config['time_reference'] = 'gmt'; 
+0

$ config ['sess_save_path'] должен быть каталогом на сервере (папка tmp?), Если вы используете sess_driver == 'files'. Сделать этот каталог доступным для записи с помощью ssh/ftp –

ответ

0

Вы пытались распечатать сессию print_r ($ _ SESSION) на странице просмотра. Распечатайте его, если ваш сеанс установлен, он покажет вам.

+0

теперь я получаю этот массив (1) {["__ci_last_regenerate"] => int (1483702885)} –

+1

В контроллере вы добавили сессию library.check it.like this $ this- > load-> библиотека ('сессии'); –

+0

auto загрузили его autoload.php –

0

сессия Использование базы данных

https://codeigniter.com/userguide3/libraries/sessions.html

$config['sess_driver'] = 'database'; 
$config['sess_cookie_name'] = 'ci_session'; 
$config['sess_expiration'] = 7200; 
$config['sess_save_path'] = 'ci_sessions'; 
$config['sess_match_ip'] = FALSE; 
$config['sess_time_to_update'] = 300; 
$config['sess_regenerate_destroy'] = FALSE; 

Спасибо.

+0

У меня ошибка session_write_close(): Не удалось записать данные сеанса с помощью пользовательского обработчика сохранения. (session.save_path:/tmp) –

0
$config['sess_driver'] = 'files'; 
$config['sess_save_path'] = '/var/www/html/my_app/tmp/'; 

Из CodeIgniter документации:

'sess_save_path' | | Место для сохранения сеансов, зависит от водителя. | | Для драйвера «files» это путь к каталогу, доступному для записи. | ПРЕДУПРЕЖДЕНИЕ: Поддерживаются только абсолютные пути! | | Для драйвера базы данных это имя таблицы. | Пожалуйста, прочтите руководство для формата с другими драйверами сеанса. | | ВАЖНО: ТРЕБУЕТСЯ установить правильный путь сохранения!

Если вы не хотите, чтобы изменить эту папку вручную каждый раз при смене сервера, вы можете попробовать что-то вроде

$config['sess_save_path'] = FCPATH . 'tmp/'; 
$config['sess_save_path'] = BASEPATH . 'tmp/'; 

fcpath один должен быть ххх/my_app/TMP и BasePath должны быть ххх/my_app/application/tmp

Обе папки должны быть доступны для записи.

+0

BASEPATH. 'TMP /'; я получаю тот же результат –

+0

, похоже, проблема с сервером –

 Смежные вопросы

  • Нет связанных вопросов^_^