首页 > 解决方案 > windows 2016,php dns 查询失败,除非首先以管理员身份运行

问题描述

一直试图找出在 IIS 下的网页中调用时无法使用 php 的 dns_get_record 的问题。通过一些试验,我发现这是一个权限问题。我想我在临时将运行网页的应用程序池用户添加为管理员用户组的一部分时确认了这一点。突然它开始工作了。令人惊讶的是,即使我从管理员组中删除了应用程序池用户,它仍然可以正常工作。我在服务器上安装了 2 个版本的 php。它不适用于任何一个版本。现在它适用于两个版本。

我在这一点上的猜测是它想要写入一些临时/缓存文件,并且作为用户它有权写入文件,但没有创建文件的权限。当我将它添加到管理员组时,它能够创建文件。这纯粹是我的猜测。

由于我不知道确切的原因,我不能确定它是否真的修复了。因此,如果有人对正在发生的事情以及我如何确保它得到永久修复有更好的了解,我将不胜感激。

更新 1:一些附加信息 - 删除应用程序池用户的管理员权限后,我可以重新启动应用程序池,甚至可以通过 IIS 控制面板重新启动 IIS 并继续工作。但是,如果我使用 iisreset 重新启动 IIS,它会停止工作,直到我再次授予管理员权限然后运行一次。我不确定在 IIS 控制面板中重新启动 IIS 或使用 IISRESET 有什么不同,但是使用 iisreset 会导致它再次停止工作。

谢谢

标签: phpdnswindows-server-2016

解决方案


推荐阅读