Сначала я думал, что у меня проблема с загрузкой библиотек из-за использования модульных расширений внутри Codeigniter.
Однако я обнаружил, что даже при чистой установке codeigniter я не могу загрузить такие библиотеки, как Session library
или даже библиотека миграции.
Я всегда получаю похожие сообщения об ошибках, обычно связанные с загрузкой файлов.
Вот мое сообщение об ошибке при использовании библиотеки сеансов.
Примечание: если я не использую библиотеки, все работает нормально.
Ошибка:
Обнаружена ошибка PHP
Серьезность: Предупреждение
Сообщение: mkdir() [function.mkdir]: неверный аргумент
Имя файла: drivers/Session_files_driver.php
Номер строки: 117Backtrace:
Файл: index.php Строка: 301 Функция: require_onceОбнаружено неперехваченное исключение
Тип: Исключение
Сообщение: Сессия: Настроенный путь сохранения '' не является каталогом, не существует или не может быть создан.Имя файла:\system\library\Session\drivers\Session_files_driver.php
Номер строки: 119Backtrace:
Файл: index.php Строка: 301 Функция: require_once
Я чувствую, что это какая-то проблема с разрешениями, но использую ли я AMPPS, MAMP (Windows) или XAMP, я всегда получаю эту проблему.
У кого-нибудь есть какие-либо идеи
ОС: Windows 8.1
Вебсервер: AMPPS/MAMP (Windows)/XAMP - Все есть проблема.
Codeigniter: v3.0.0
Конфиг:
$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;
РЕДАКТИРОВАТЬ:
Решено.
Теперь важно использовать документацию CI3. При использовании метода базы данных для сеансов убедитесь, что вы используете обновленный 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')
);
Как нашел здесь. Я надеюсь, что это поможет любому с подобными проблемами.
Также для первоначальной проблемы, если вы используете драйвер files
убедитесь, что вы установили для $config['sess_save_path']
что-то вроде 'ci_sessions'
или где вы хотите сохранить. Пожалуйста, смотрите @Tpojka ответ для получения дополнительной информации.