Ответ 1
Разделив решение, которое помогло мне, попробуйте установить свою конфигурационную переменную следующим образом:
$config['sess_save_path'] = sys_get_temp_dir();
когда я хочу установить данные сеанса в codeigniter 3, он говорит об ошибке, например:
A PHP Error was encountered
Severity: Warning
Message: mkdir(): Invalid path
Filename: drivers/Session_files_driver.php
Line Number: 117
Backtrace:
File: C:\xampp\htdocs\ci-test\application\controllers\login.php
Line: 7
Function: __construct
File: C:\xampp\htdocs\ci-test\index.php
Line: 292
Function: require_once
Вот код, где хотите установить данные сеанса.
$sess_array = array(
'id' => 1,
'username' => '[email protected]'
);
$this->session->set_userdata($sess_array);
Разделив решение, которое помогло мне, попробуйте установить свою конфигурационную переменную следующим образом:
$config['sess_save_path'] = sys_get_temp_dir();
измените ваше приложение- > config- > config.php и установите
$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;
& Запустить SQL-запрос
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`)
);
Причина, по которой вы столкнулись с ошибкой, состоит в том, что у вас не было $config['sess_save_path']
Перейдите к config.php
и установите
$config['sess_save_path'] = NULL;
В config.php sess_save_path
должен быть sys_get_temp_dir();
, тогда он разрешит ошибку mkdir(): Invalid path
Попробуйте это в config.php $config['sess_save_path'] = NULL