代码标志器无法加载库

2022-08-30 14:58:51

最初,我认为由于在Codeigniter中使用模块化扩展,我在加载库时遇到了问题。

但是,我发现即使干净地安装了codeigniter,我也无法加载诸如迁移库之类的库。Session library

我总是收到类似的错误消息,通常与加载文件有关。

这是我使用会话库时遇到的错误消息。

注意:如果我不使用库,一切都很好。

错误:

遇到 PHP 错误
严重性: 警告
消息: mkdir() [function.mkdir]: 无效参数
文件名: 驱动程序/Session_files_driver.php
行号: 117

回溯:
文件: 索引.php 行: 301 功能: require_once

遇到未捕获的
异常 类型:异常
消息:会话:已配置的保存路径''不是目录、不存在或无法创建。

文件名:\系统\库\会话\驱动程序\Session_files_driver.php
行号:119

回溯:
文件: 索引.php 行: 301 功能: require_once

我觉得这是某种形式的权限问题,但是无论我使用的是AMPPS,MAMP(Windows)还是XAMP,我总是会遇到这个问题。

有没有人有任何想法

操作系统: 视窗 8.1

Webserver: 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`)
);

这里所示。我希望这可以帮助任何有类似问题的人。

此外,如果您使用的是驱动程序,则对于初始问题,请确保将 设置为类似或要存储的任何位置。有关详细信息,请参阅@Tpojka答案。files$config['sess_save_path']'ci_sessions'


答案 1

工作代码;

$config['sess_save_path'] = sys_get_temp_dir();

这允许执行脚本。


答案 2

消息:会话:配置的保存路径“”不是目录、不存在或无法创建。

$config['sess_save_path'] = NULL;

尝试设置这个。

对我来说,这个工作

$config['sess_save_path'] = '/tmp';

推荐