codeigniter 会话:PHP进程无法写入配置的保存路径“C:\Windows\Temp”

uqjltbpv  于 2023-03-10  发布在  PHP
关注(0)|答案(4)|浏览(149)

遇到未捕获的异常
类型:异常
留言:会话:PHP进程无法写入配置的保存路径“C:\Windows\Temp”。
文件名:prm\系统\库\会话\驱动程序\会话文件驱动程序. php
行号:125
回溯:
文件:\prm\应用程序\控制器\登录. php行:8功能:__构造
文件:\prm\index.php行:279功能:要求一次
无法修复此问题。请建议如何修复

mpbci0fu

mpbci0fu1#

我们正在设置指向数据库ci_session表的“C:\Windows\Temp”Windows目录路径。
在配置文件中更改以下内容。

$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;

$config['sess_driver']= 'database';
$config['sess_cookie_name']= 'mycookie';
$config['sess_expiration']= 0;
$config['sess_save_path']= 'ci_session';
$config['sess_match_ip']= FALSE;
$config['sess_time_to_update']= 300;
$config['sess_regenerate_destroy']= FALSE;
$config['sess_use_database']= TRUE;
$config['sess_expire_on_close']= TRUE;
$config['sess_table_name']= 'ci_session';
nxagd54h

nxagd54h2#

编辑config.php
您的位置:首页/配置文件
之前

$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;

之后

$sessDir = session_save_path();
$sessDir = "{$sessDir}/sessionPath";
is_dir($sessDir)?:mkdir($sessDir);

$config['sess_driver'] = 'files';
$config['sess_cookie_name'] = 'ci_session';
$config['sess_expiration'] = 7200;
$config['sess_save_path'] = $sessDir;
$config['sess_match_ip'] = FALSE;
$config['sess_time_to_update'] = 300;
$config['sess_regenerate_destroy'] = FALSE;

这是我的工作

7xllpg7q

7xllpg7q3#

在应用程序的config.php文件中搜索$config ['sess_保存_path'],将其默认值sys_get_temp_dir()更改为另一个可公开访问的目录,最好不在C:开车。
或者您可以在php.ini文件中全局设置它并调用ini_get('session.save_path'),但首先要确保您已经将该选项的默认值更改为您选择的临时目录。

hgtggwj0

hgtggwj04#

这个错误基本上告诉您PHP进程没有权限写入配置中指定该高速缓存目录。
最简单明了的解决方案是授予目录写权限。
我没有使用windows机器,所以我不能告诉你具体怎么做,但是你可以查一下。

相关问题