Os arquivos temporários da sessão são criados neste diretório de acordo com a propriedade "session.save_path" no php.ini. Sem as permissões para excluir arquivos neste diretório, o PHP não pode remover esses arquivos como parte de seu processo normal de manipulação de lixo de sessão e, assim, eles se acumulam quando não são mais necessários e você verá ocasionalmente esse erro sempre que a coleta de lixo for executada. p>
O usuário do Pool de Aplicativos, que é o que realmente executa o executável PHP, precisa pelo menos modificar as permissões em C: \ Windows \ TEMP para executar a coleta de lixo (isso não é concedido por padrão). Se você não alterou este usuário do padrão, então ele deve ser 'DefaultAppPool', ou você pode usar o grupo Pool de Aplicativos, que será semelhante ao IUSRS.
A melhor prática é criar um novo pool de aplicativos para cada site. Ao fazer isso, o IIS criará um usuário do Windows ao qual você poderá conceder permissões de modificação. Você pode fazer o script ou fazer isso a partir da linha de comando usando o seguinte comando:
icacls c:\windows\TEMP\ /inheritance:e /grant "IIS APPPOOL\your-user:(OI)(CI)M" /t /c /Q
Atualização: Como o Gremio observa, você deve mover os arquivos da sessão para um diretório específico, para que você não conceda acesso de gravação para esse usuário (que pode ser explorado) ao que quer que o Windows armazene o diretório TEMP. Você pode modificar as configurações de salvamento de sessões no php.ini, globalmente ou especificamente para seu aplicativo em tempo de execução (detalhes aqui ).