【问题标题】:CodeIgniter session permissionCodeIgniter 会话权限
【发布时间】:2015-08-24 18:42:47
【问题描述】:

我开发了一个 codeigniter 应用程序,它有时会在 session_start 中引发异常。

返回的代码是:

遇到了 PHP 错误

严重性:通知

消息:session_start(): ps_files_cleanup_dir: opendir(/tmp) failed: Permission denied (13)

文件名:core/MY_Controller.php

行号:2

在这一行中,我只有“session_start”

但这个问题偶尔会出现。

我应该将临时文件夹更改为 CI 文件夹中的另一个吗?

谢谢。

【问题讨论】:

  • 如果您使用会话库,则无需手动启动会话。您是否尝试在MY_Controller.php 的构造函数中加载会话库或在autoload.php 文件中自动加载它?
  • 嗨@Tpojka。感谢您的回复。我没有使用会话库。我正在使用普通的 php 会话控制。但我认为 codeigniter 正在尝试使用 apache temp 文件夹。也许它应该使用 CI 中的某个文件夹。你怎么看?
  • 检查您是否对目录有正确的权限。如果可能的话,包括一些代码。尝试使用 CI 加载会话,因为您也可以使用 PHP 语法(如果应用程序使用 CI 版本 3)并查看错误是否仍然存在。
  • 好的@Tpojka。我会尽力让你知道。

标签: php apache codeigniter temp


【解决方案1】:

您需要在配置设置

中设置会话路径
  • application/config/config.php设置

    $config['sess_save_path'] = FCPATH . 'application/cache/sessions/';

它对我有用。

【讨论】:

  • 感谢它为我节省了时间。
【解决方案2】:

如果您使用 plesk,请尝试:

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

【讨论】:

  • 很棒的答案
猜你喜欢
  • 2011-10-11
  • 1970-01-01
  • 2013-01-21
  • 2011-01-04
  • 1970-01-01
  • 2020-06-11
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多