ini_set(session.save_path = $foo);
Добавлено: Ср сен 27, 2017 5:24 pm
Фреймворк: codeigniter3
Библиотека сессий по умолчанию предполагает драйвер files.
При использовании его выдает ошибку:
An uncaught Exception was encountered
Type: Exception
Message: Session: Configured save path '<%путь к корню%>/application/storage/sessions' is not a directory, doesn't exist or cannot be created.
Filename: <%путь к корню%>/system/libraries/Session/drivers/Session_files_driver.php
в phpinfo() session.save_path /var/lib/php5 - не меняется путь. В указанную папку (естественно) запись запрещена. Другие параметры сессии изменяются, к примеру, время жизни сессии или ее имя.
//указанный в ошибке путь не проверяется, скрипт проверяет реальное место сохранения файлов сессии, а не указанный путь.
как решение проблемы, можно использовать драйвер базы данных. однако хочется разобраться в этом вопросе и использовать драйвер, рекомендуемый разработчиками фреймворка.
ПыСы: все сделано по мануалам, ошибка не в коде.
if (isset($this->_config['save_path']))
{
$this->_config['save_path'] = rtrim($this->_config['save_path'], '/\\');
ini_set('session.save_path', $this->_config['save_path']);
}
var_dump('$this->_config['save_path']'); выдает нужный путь
Библиотека сессий по умолчанию предполагает драйвер files.
При использовании его выдает ошибку:
An uncaught Exception was encountered
Type: Exception
Message: Session: Configured save path '<%путь к корню%>/application/storage/sessions' is not a directory, doesn't exist or cannot be created.
Filename: <%путь к корню%>/system/libraries/Session/drivers/Session_files_driver.php
в phpinfo() session.save_path /var/lib/php5 - не меняется путь. В указанную папку (естественно) запись запрещена. Другие параметры сессии изменяются, к примеру, время жизни сессии или ее имя.
//указанный в ошибке путь не проверяется, скрипт проверяет реальное место сохранения файлов сессии, а не указанный путь.
как решение проблемы, можно использовать драйвер базы данных. однако хочется разобраться в этом вопросе и использовать драйвер, рекомендуемый разработчиками фреймворка.
ПыСы: все сделано по мануалам, ошибка не в коде.
if (isset($this->_config['save_path']))
{
$this->_config['save_path'] = rtrim($this->_config['save_path'], '/\\');
ini_set('session.save_path', $this->_config['save_path']);
}
var_dump('$this->_config['save_path']'); выдает нужный путь