Codeigniter会话在Live服务器上不工作

6qfn3psc  于 12个月前  发布在  其他
关注(0)|答案(8)|浏览(93)

当打开codeigniter项目localhost他们正常工作,并在服务器打开,然后错误的无效路径
遇到PHP错误
严重性:警告
Message:mkdir():无效路径
文件名:drivers/Session_files_driver.php
行号:117
回溯:
文件:/Library/Server/Web/Data/Sitees/garden_worx/index.php行:292功能:需要一次(_O)
错误2
遇到未捕获的异常
类型:例外
留言:会话:已配置的保存路径“”不是目录、不存在或无法创建。
文件夹:/Library/Server/Web/Data/Sites/garden_worx/system/libraries/Session/drivers/Session_files_driver.php
行号:119
回溯:
File:/sitemap.php Line:/sitemap.php Line:292功能:需要一次(_O)
错误3
遇到PHP错误
严重性:警告
留言:fopen(6d 898 f163 e36616 cef 220426 dad 109225 a66 f74 a):无法打开流:权限被拒绝
文件名:drivers/Session_files_driver.php
行号:156
回溯:

nvbavucw

nvbavucw1#

这对你真的很有帮助,它也保存了我的一天:)
在你的config.php

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

codeigniter中的类似问题会话错误?

yk9xbfzb

yk9xbfzb2#

在codeigniter 3版本中,您可以使用文件或数据库,如果文件,请确保您已经创建了文件夹,您希望您的会话路径设置和chmod700
我使用缓存文件夹来存储文件会话

$config['sess_driver'] = 'files';
$config['sess_cookie_name'] = 'ci_session';
$config['sess_expiration'] = 1440;
$config['sess_save_path'] = FCPATH . 'application/cache/sessions/';
$config['sess_match_ip'] = TRUE;
$config['sess_time_to_update'] = 300;
$config['sess_regenerate_destroy'] = TRUE;

在application > config > autoload中自动加载会话

$autoload['libraries'] = array('session');

注意:控制器、型号、库的文件名类名必须首字母大写,示例文件名Welcome.phpclass Welcome extends CI_Controller {}

Codeigniter文档2和3 http://www.codeigniter.com/docs
Codeigniter 3会话http://www.codeigniter.com/user_guide/libraries/sessions.html
Codeigniter 2会话:http://www.codeigniter.com/userguide2/libraries/sessions.html
您可能还需要在config.php上设置encryption_key

$config['encryption_key'] = 'pXeQY2733rR560MrwJy40OL4WaSGmr5A';

http://randomkeygen.com/

3duebb1j

3duebb1j3#

只需在您的application -> config -> config.php中更改此设置

$config['sess_save_path'] = NULL;

$config['sess_save_path'] = FCPATH.'ci_sessions';

它将在您的根目录中创建一个目录。希望你的问题能解决…
谢谢

7xzttuei

7xzttuei4#

这对我很有效

$config['sess_driver'] = 'files';
$config['sess_cookie_name'] = 'ci_session';
$config['sess_expiration'] = 7200;
$config['sess_save_path'] = sys_get_temp_dir();
$config['sess_match_ip'] = TRUE;
$config['sess_time_to_update'] = 300;
$config['sess_regenerate_destroy'] = FALSE;
igetnqfo

igetnqfo5#

你也可以把

output_buffering = On

在你的php.ini文件中

eqoofvh9

eqoofvh96#

将“NULL”更改为“/tmp”或服务器临时文件夹路径
该行现在应改为:

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

2cmtqfgy7#

在autoload.php文件中添加'session'解决了我的问题
$autoload['libraries'] = array('form_validation',' session');

lztngnrs

lztngnrs8#

这工作对我来说
$config['sess_save_path'] = sys_get_temp_dir();

相关问题