最初,我以为我在加载库时遇到了问题,因为在 Codeigniter 中使用了模块化扩展。
但是我发现,即使全新安装了 codeigniter,我也无法加载诸如 Session library
甚至 Migration 库之类的库。
我总是收到类似的错误消息,通常与加载文件有关。
这是我在使用 session 库时收到的错误消息。
注意:如果我不使用库,一切正常。
错误:
A PHP Error was encountered
Severity: Warning
Message: mkdir() [function.mkdir]: Invalid argument
Filename: drivers/Session_files_driver.php
Line Number: 117Backtrace:
File: index.php Line: 301 Function: require_onceAn uncaught Exception was encountered
Type: Exception
Message: Session: Configured save path '' is not a directory, doesn't exist or cannot be created.Filename: \system\libraries\Session\drivers\Session_files_driver.php
Line Number: 119Backtrace:
File: index.php Line: 301 Function: require_once
我觉得这是某种形式的权限问题,但无论我使用的是 AMPPS、MAMP (Windows) 还是 XAMP,我总是遇到这个问题。
有没有人有什么想法
操作系统:Windows 8.1
网络服务器:AMPPS/MAMP(Windows)/XAMP - 都有问题。
代码点火器: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 文档很重要,当使用数据库方法进行 session 时,请确保使用更新的 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 的回答。
最佳答案
工作代码;
$config['sess_save_path'] = sys_get_temp_dir();
这允许执行脚本。
关于php - Codeigniter 无法加载库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29431910/