PHP警告: session_start(): Failed to read session data: files (path: C:\inetpub\tmp) - Windows Server 2016

标签 php sql-server iis

将 PHP 文件传输到 Windows Server 时遇到问题。我发现的错误是:

PHP Warning: session_start(): open(C:\inetpub\tmp\sess_ls40vhrbgus8ghmqvnqrat2qfo, O_RDWR) failed: Permission denied (13) in C:\inetpub\wwwroot\ebooking\index.php on line 4

下面是我的代码:

index.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://learn.microsoft.com/en-us/sysinternals/downloads/procmon

关于PHP警告: session_start(): Failed to read session data: files (path: C:\inetpub\tmp) - Windows Server 2016,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60070742/

相关文章:

c++ - IIS 和 argv[0] 路径语法

asp.net - IIS - 如何将自签名 SSL 证书降级为 1024 位?

php - 将多个选择选项放入 PHP 数组

php - 从 php 发送 HTTP 状态代码的区别

SQL查询如何在表中按名称分组

sql - 如何选择列名并获取 SQL Server 的数据?

PHP/MYSQL - 订阅电子邮件 - 他们如何完成这样的事情?

php - 简单的ajax POST不执行php函数

android - 如何将 sql azure 与 android 应用程序和 sql server 连接

c# - 如何在运行IISRESET后立即重新启动ASP.NET应用程序?