我在我的网站上安装了一个名为Fusion-CMS的CMS。
但是,当我安装它/将其移动到一个文件夹(例如,www.example.com / cms /)时,我会在上面遇到这个恼人的错误,并且CMS中的模块不会正常工作!
A PHP Error was encountered
Severity: Warning
Message: session_start(): open(../tmp\sess_mpnr120ag1dg5mfr1mon7dd6m1, O_RDWR) failed: No such file or directory (2)
Filename: libraries/Session.php
Line Number: 33
但是,如果我安装它/将其移回根文件夹(www.example.com/),它将正常工作,没有任何错误。但我需要它在文件夹上!这个CMS使用CI(CodeIgniter),如果它有任何相关性,因为我在谷歌搜索类似的主题,有些人说它可能是CI。
我该如何解决这个问题?
编辑:
Wolfgang1983,这是我找到的。
$config['sess_cookie_name'] = 'cisession';
$config['sess_expiration'] = 18000;
$config['sess_expire_on_close'] = FALSE;
$config['sess_encrypt_cookie'] = TRUE;
$config['sess_use_database'] = FALSE;
$config['sess_table_name'] = 'ci_sessions';
$config['sess_match_ip'] = TRUE;
$config['sess_match_useragent'] = FALSE;
$config['sess_time_to_update'] = 18000;
答案 0 :(得分:0)
在config.php上,确保已将路径设置正确。
我已经在系统目录中设置了我使用BASEPATH。您可以在APPPATH中设置它,这是您的应用程序文件夹。
确保您拥有$config['encryption_key'] = 'some_secure_key';
$config['sess_save_path'] = BASEPATH . 'cache/sessions/';
更新
会话配置
$config['sess_driver'] = 'files';
$config['sess_cookie_name'] = 'cookie_monster';
$config['sess_expiration'] = 1440;
$config['sess_save_path'] = BASEPATH . 'cache/sessions/';
$config['sess_match_ip'] = TRUE;
$config['sess_time_to_update'] = 300;
$config['sess_regenerate_destroy'] = TRUE;
<强>更新强>
由于您的会话看起来像codeigniter 2
看起来您使用的codeigiter 2需要配置您的会话,如codeigniter 2用户指南http://www.codeigniter.com/userguide2/libraries/sessions.html
中所述$config['sess_cookie_name'] = 'cisession';
$config['sess_expiration'] = 18000;
$config['sess_expire_on_close'] = FALSE;
$config['sess_encrypt_cookie'] = TRUE;
$config['sess_use_database'] = TRUE; // FALSE to TRUE
$config['sess_table_name'] = 'ci_sessions';
$config['sess_match_ip'] = TRUE;
$config['sess_match_useragent'] = FALSE;
$config['sess_time_to_update'] = 18000;
从用户指南
将其插入会话表CREATE TABLE IF NOT EXISTS `ci_sessions` (
session_id varchar(40) DEFAULT '0' NOT NULL,
ip_address varchar(45) DEFAULT '0' NOT NULL,
user_agent varchar(120) NOT NULL,
last_activity int(10) unsigned DEFAULT 0 NOT NULL,
user_data text NOT NULL,
PRIMARY KEY (session_id),
KEY `last_activity_idx` (`last_activity`)
);
答案 1 :(得分:0)
确保正确设置配置。 尝试更改您的配置:
$config['sess_cookie_name'] = 'cisession';
$config['sess_expiration'] = 18000;
$config['sess_expire_on_close'] = FALSE;
$config['sess_encrypt_cookie'] = TRUE;
$config['sess_use_database'] = FALSE;
$config['sess_table_name'] = 'ci_sessions';
$config['sess_match_ip'] = TRUE;
$config['sess_match_useragent'] = FALSE;
$config['sess_time_to_update'] = 18000;
而是将其更改为:
$config['sess_cookie_name'] = 'ci_session'; // name of your session
$config['sess_expiration'] = 7200; // the session expiration last ,you can set it to zero for no expiration
$config['sess_expire_on_close'] = FALSE; //
$config['sess_encrypt_cookie'] = FALSE;
$config['sess_use_database'] = FALSE;
$config['sess_table_name'] = 'ci_sessions';
$config['sess_match_ip'] = FALSE;
$config['sess_match_useragent'] = TRUE;
$config['sess_time_to_update'] = 300;
我希望这会对你有所帮助。有关更多信息,请尝试搜索CodeIgniter手册。
答案 2 :(得分:0)
(代表OP发布)。
我的朋友上了电视,几分钟后他通过将tmp文件夹移动到网站的根目录来修复它。根据我的朋友&#34; tmp文件夹必须始终是CMS后面的一个文件夹&#34;。