【发布时间】:2015-06-08 12:39:09
【问题描述】:
最初,我认为我在加载库时遇到了问题,因为在 Codeigniter 中使用了模块化扩展。
但是我发现即使全新安装了 codeigniter,我也无法加载诸如 Session library 之类的库,甚至无法加载 Migration 库。
我总是收到类似的错误消息,通常与加载文件有关。
这是我在使用 Session 库时收到的错误消息。
注意:如果我不使用库,一切正常。
错误:
遇到 PHP 错误
严重性:警告
消息:mkdir() [function.mkdir]:无效参数
文件名:drivers/Session_files_driver.php
行号:117回溯:
文件:index.php 线路:301 函数:require_once遇到未捕获的异常
类型:异常
消息:会话:配置的保存路径 '' 不是目录,不存在或无法创建。文件名:\system\libraries\Session\drivers\Session_files_driver.php
行号:119回溯:
文件: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`)
);
如发现here。我希望这可以帮助任何有类似问题的人。
如果您使用的是files 驱动程序,请确保将$config['sess_save_path'] 设置为'ci_sessions' 或您希望存储的任何位置。有关更多信息,请参阅@Tpojka 答案。
【问题讨论】:
-
你是如何加载会话库的?
-
$autoload['libraries'] = array('session');自动加载.php
-
您从哪里下载 Codeigniter?那里有一些损坏的 CI 下载。
-
codeigniter.com - 它在我家里的 MAC OS 上完美运行,但在我的 Windows 上却出现了这些似乎是权限错误。
-
另外,你的环境怎么样?视窗/Mac?什么版本?等等...
标签: php codeigniter session