【问题标题】:Warning: session_start() failed: No such file or directory警告:session_start() 失败:没有这样的文件或目录
【发布时间】:2011-03-16 19:38:36
【问题描述】:

我正在尝试安装 berta (v 0.6.3b),但出现此错误:

警告:session_start() [function.session-start]: 打开(/var/php_sessions/sess_a0d6b8422181739d10066fb60cebfe5d,O_RDWR) 失败:没有这样的文件或目录(2) /hermes/bosweb/web010/b100/ipg.ellieniemeyercom/engine/_classes/class.bertasecurity.php

在第 75 行错误似乎发生在 class.bertasecurity.php (view source code) 的第 75 行

出了什么问题,我该如何解决?

【问题讨论】:

    标签: php warnings session-state


    【解决方案1】:

    如果您要更改用于会话的路径。

    您也可以考虑通过更改php.ini 文件中的session.save_path 变量来解决此问题。

    然后您将在您的配置文件中进行修复,而不仅仅是在您的脚本中。

    【讨论】:

      【解决方案2】:

      确保会话目录是可写的,或者您可以自己设置路径:

      session_save_path

      This comment 如果您使用上述功能,也很有用。

      【讨论】:

      • 谢谢,您能否提供更详细的代码来说明如何将其设置为示例目录?
      • @Mohammad:您可以访问我为不同人提供的综合文档和更有用的 cmets 提供的链接 :)
      【解决方案3】:

      会话保存在服务器的硬盘上。很可能您的会话保存路径不存在。尝试将其设置为确实存在或您具有读/写权限的目录。

      【讨论】:

        【解决方案4】:

        我认为 PHP 进程无法访问包含会话数据的文件夹。

        如果你没有接触过你的php.ini,默认的session.save_handler应该是files(这意味着会话数据将存储在你文件系统的一个文件夹中)。 session.save_path 的值包含该文件夹,您应该检查它是否存在以及它对您的 php 进程的权限。

        【讨论】:

        • 会像echo session.save_path; 这样的东西吗?
        • 这些是 ini-values(PHP 进程的配置值)您可以使用 ini_set() 修改它们。看看官方解释(以及我在答案中提供的链接):de.php.net/manual/en/configuration.changes.modes.php
        • 我刚刚检查了session_save_path() 的值是/var/php_sessions/
        • 所以我想我在那个文件夹中没有写权限。
        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2022-11-10
        • 2018-03-01
        • 1970-01-01
        • 2020-02-08
        • 2013-01-13
        • 2021-05-13
        相关资源
        最近更新 更多