Использование форматов режимов в session.save_path Codeigniter - PullRequest
0 голосов
/ 06 ноября 2018

У меня проблема с использованием библиотеки сеансов в Codeigniter. На этой странице конкретно написано

Точнее говоря, он не поддерживает PHP-формат каталогов и форматы режимов, используемые в session.save_path, и имеет большинство опций, жестко запрограммированных для безопасности. Вместо этого для $ config ['sess_save_path'] поддерживаются только абсолютные пути.

Теперь я хочу создать файлы сеансов с разрешениями 777. Я установил для session_save_path в php.ini значение 0;0777;/home/sessions/. Это перезаписывается локальным значением Codeigniter до /home/sessions. Как я могу заставить Codeigniter создавать эти файлы сеанса с разрешениями 777, поскольку он не поддерживает это в файле конфигурации.

Пожалуйста, не обращайте внимания на разрешения 777 для файлов сеансов.

Ответы [ 2 ]

0 голосов
/ 15 ноября 2018

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

$config['sess_driver'] = 'files';
$config['sess_cookie_name'] = 'ci_session';
$config['sess_expiration'] = 7200;
$config['sess_save_path'] = BASEPATH . 'sessions/';
$config['sess_match_ip'] = TRUE;
$config['sess_time_to_update'] = 300;
$config['sess_regenerate_destroy'] = TRUE;

в $ config ['sess_save_path'] укажите ваш путь, где вы хотите сохранить файл сеанса.

0 голосов
/ 08 ноября 2018

Об изменении разрешений dir по умолчанию, которые по умолчанию ic 0700, я вообще не рекомендую, потому что вам придется менять системные файлы ядра, что является очень плохой практикой, но если вам нужно взглянуть на Session_files_driver.php и измените mkdir($save_path, 0700, TRUE) на mkdir($save_path, 0777, TRUE), если необходимо, и если он еще не существует с разрешением 0777 ... кстати, я думаю, что лучше использовать db для хранения сессий.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...