php - PHP 警告:session_start():无法读取会话数据:文件(路径:C:\inetpub\tmp)-Windows Server 2016
问题描述
将 PHP 文件传输到 Windows Server 时出现问题。我发现的错误是:
PHP 警告:session_start(): open(C:\inetpub\tmp\sess_ls40vhrbgus8ghmqvnqrat2qfo, O_RDWR) failed: Permission denied (13) in C:\inetpub\wwwroot\ebooking\index.php on line 4
以下是我的代码:
索引.php
include("config/configPDO.php");
session_start(); //line 4
$msg = "";
if(isset($_POST['submitBtnLogin'])) {
$User_ID = trim($_POST['Email']);
$email=explode('@',$User_ID);
if (is_array($email)){
$User_ID=$email[0];
}
但是当我只编码 echo"Hello World"
时,文本将显示。没问题。
我能知道是什么问题吗?我需要在 php.ini 中进行任何配置吗?
解决方案
IIS 通过应用程序池标识激活 PHP_CGI。因此,请尝试授予您经过身份验证的用户,如 IUSR 和应用程序池身份(IIS Apppool\apppool 名称)读取/写入权限以访问 C:\inetpub\tmp。
如果上述步骤不起作用,请尝试在这种情况下使用进程监视器。创建一个过滤器来访问被拒绝的错误。然后它会告诉我们谁和在哪里授予权限。
https://docs.microsoft.com/en-us/sysinternals/downloads/procmon
推荐阅读
- ithit-webdav-server - 写入通过映射驱动器中的 Windows 资源管理器打开文件时所做的文件更改
- batch-file - 归档目录超过 N 天的批处理脚本
- javascript - 反应原生相机在导航时变为空白
- jquery - Jquery:将最后一行集中在textarea上的更改
- mysql - subTables 连接查询,任何数据库中间件建议
- go - 当我使用 go get 获取一些包时,如何切换到 golang.google.cn?
- google-optimize - 如何使用谷歌优化改变环境
- sql-server - TSQL 管理器层次结构
- colors - 使用 GLSL 着色器将 X、Z 坐标转换为 RGB
- python-3.x - 如何使用Pinpoint从python中的长代码发送短信?