首页 文章

Codeigniter会话在Live Server上不起作用

提问于
浏览
5

当打开codeigniter项目localhost时,它们正常工作并在服务器中打开然后错误的无效路径

遇到PHP错误严重性:警告消息:mkdir():路径无效文件名:drivers / Session_files_driver.php行号:117 Backtrace:文件:/Library/Server/Web/Data/Sites/garden_worx/index.php行: 292功能:require_once

错误2

遇到未捕获的异常类型:异常消息:会话:已配置的保存路径''不是目录,不存在或无法创建 . 文件名:/Library/Server/Web/Data/Sites/garden_worx/system/libraries/Session/drivers/Session_files_driver.php行号:119 Backtrace:文件:/Library/Server/Web/Data/Sites/garden_worx/index.php行:292功能:require_once

错误3

遇到PHP错误严重性:警告消息:fopen(6d898f163e36616cef220426dad109225a66f74a):无法打开流:权限被拒绝文件名:drivers / Session_files_driver.php行号:156 Backtrace:

6 回答

  • 9

    在codeigniter 3版本中,您可以使用文件或数据库(如果文件),确保您已创建文件夹,您希望您的会话路径设置和chmod 700

    我使用缓存文件夹来存储文件会话

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

    应用程序>配置>自动加载中的自动加载会话

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

    注意:确保控制器,模型,库的所有文件名和类名都具有首字母大写示例文件名Welcome.php和类Welcome extends CI_Controller {} .

    Codeigniter doc 2和3 http://www.codeigniter.com/docs

    Codeigniter 3 session 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/

  • 0

    这对你真的很有帮助,它也节省了我的一天:)

    在你的config.php中

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

    相似问题session error in codeigniter?

  • 9

    只需在您的内容中更改此内容, application -> config -> config.php

    $config['sess_save_path'] = NULL;
    

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

    它将在您的Root中创建一个目录 . 希望你的问题能解决......

    谢谢

  • 0

    这对我有用

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

    你也可以

    output_buffering = On
    

    在根目录下的php.ini文件中

  • -2

    这对我有用

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

相关问题