2016-08-25 71 views
1

会话启动期间出错;请检查您的PHP和/或网络服务器日志文件并正确配置您的PHP安装。同时确保在您的浏览器中启用了Cookie。Windows IIS中的PHP会话警告

在session_start():开放(C:\ WINDOWS \ TEMP \ sess_3ls3qdk77m9mhsf5tm1cdhrm05bi5kb1,O_RDWR)失败:无效的参数(22)

在我的php.ini文件:session.save_path = "C:\temp\phpsessions" 它工作正常了。所以突然显示一个错误。 任何人都可以协助这个请。

+0

任何人都可以请帮忙吗?它将高度赞赏 – CGA

+0

我有同样的问题,我正在使用SQL Server和我的自定义站点与IIS –

+0

谢谢大家的所有建议。现在工作正常。 – CGA

回答

0

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

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

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

1

PHP不会自动创建这个目录结构。因此请确保存在C:\ temp \ phpsessions目录下的此。如果没有,那么你可以在ext/session dir中使用脚本来达到该目的,或者创建该目录结构手动

然后

您可以通过,因为转义字符的写作这一行创建的目录会议开始前还要注意这里额外的“\”改变会话保存路径。

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

你能否详细解释一下?我找不到任何ext/session目录,以及'script' - .bat文件是什么意思? – RenniePet

2

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

不妨将会议文件夹出的C:\ WINDOWS \

你在哪里都放在会议,IIS将需要的权限进行修改。

4

正如已经被其他说明,有一个机会,

  1. 无论是C:\ TEMP \ phpsessions目录不存在
  2. 否则IIS_IUSRS读/写权限中缺少C:\ Windows \ Temp

您的浏览器没有问题。