【问题标题】:PHP session warning in Windows IISWindows IIS 中的 PHP 会话警告
【发布时间】:2020-07-22 20:02:14
【问题描述】:

会话开始时出错;请检查您的 PHP 和/或网络服务器日志文件并正确配置您的 PHP 安装。还要确保在您的浏览器中启用了 cookie。

session_start(): open(C:\Windows\TEMP\sess_3ls3qdk77m9mhsf5tm1cdhrm05bi5kb1, O_RDWR) 失败:无效参数 (22)

在我的 php.ini 文件中:session.save_path = "C:\temp\phpsessions" 在它工作正常之前。如此突然,它显示错误。 请任何人提供帮助。

【问题讨论】:

  • 谁能帮忙?将不胜感激
  • 我有同样的问题,我正在使用 SQL Server 和我的自定义站点与 IIS
  • 谢谢大家的建议。现在工作正常。

标签: php session iis-8


【解决方案1】:

正如其他人已经说过的那样,有可能

  1. 要么C:\temp\phpsessions 目录不存在,要么
  2. C:\Windows\Temp 中缺少其他 IIS_IUSRS 读/写权限

您的浏览器没有问题。

【讨论】:

    【解决方案2】:

    仔细检查 C:\Windows\Temp\ 文件夹的权限。我认为 IIS_IUSRS 需要具有写入权限才能保存文件。

    考虑将会话文件夹移出 C:\Windows\

    无论您将会话放在何处,iis 都需要权限才能对其进行编辑。

    【讨论】:

      【解决方案3】:

      PHP 不会自动创建此目录结构。所以确保这个 C:\temp\phpsessions 目录存在。如果没有,那么您可以为此目的使用 ext/session 目录中的 脚本手动创建该目录结构。

      然后

      您可以通过在会话开始前为创建的目录编写此行来更改会话保存路径,还请注意此处额外的“\”,因为转义字符。

      session_save_path("C:\\temp\\phpsessions");
      

      【讨论】:

      • 您能详细解释一下吗?我找不到任何 ext/session 目录,script- .bat 文件是什么意思?
      【解决方案4】:

      很可能是浏览器问题。浏览器和会话数据之间存在一些不匹配。

      以防万一,请执行以下操作: 1. 清除浏览器的缓存、cookies 和临时数据(或使用其他浏览器进行实验)。 2. 清除服务器端存储会话文件的目录(在您的情况下,它似乎是 C:\Windows\TEMP 或 C:\temp\phpsessions。最好清理它们)。

      如果它不起作用,请分享您的 php.ini 文件。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2023-04-05
        • 1970-01-01
        • 1970-01-01
        • 2012-12-23
        • 2014-10-29
        • 2012-07-17
        • 2012-05-18
        • 2011-05-28
        相关资源
        最近更新 更多