php - windows 2016,php dns 查询失败,除非首先以管理员身份运行
问题描述
一直试图找出在 IIS 下的网页中调用时无法使用 php 的 dns_get_record 的问题。通过一些试验,我发现这是一个权限问题。我想我在临时将运行网页的应用程序池用户添加为管理员用户组的一部分时确认了这一点。突然它开始工作了。令人惊讶的是,即使我从管理员组中删除了应用程序池用户,它仍然可以正常工作。我在服务器上安装了 2 个版本的 php。它不适用于任何一个版本。现在它适用于两个版本。
我在这一点上的猜测是它想要写入一些临时/缓存文件,并且作为用户它有权写入文件,但没有创建文件的权限。当我将它添加到管理员组时,它能够创建文件。这纯粹是我的猜测。
由于我不知道确切的原因,我不能确定它是否真的修复了。因此,如果有人对正在发生的事情以及我如何确保它得到永久修复有更好的了解,我将不胜感激。
更新 1:一些附加信息 - 删除应用程序池用户的管理员权限后,我可以重新启动应用程序池,甚至可以通过 IIS 控制面板重新启动 IIS 并继续工作。但是,如果我使用 iisreset 重新启动 IIS,它会停止工作,直到我再次授予管理员权限然后运行一次。我不确定在 IIS 控制面板中重新启动 IIS 或使用 IISRESET 有什么不同,但是使用 iisreset 会导致它再次停止工作。
谢谢
解决方案
推荐阅读
- php - 如何根据类别名称从 wordpress 数据库中选择所有帖子?
- android - 在 onActivityResult 方法之外使用捕获的图像位图
- elasticsearch - Elasticsearch 连接被拒绝
- android - 如何在新活动中显示已删除的项目?
- java - RxJava2 节流器First()
- c# - 在 C# 中拖动对象
- javascript - 返回 React 组件索引中的第一项
- reactjs - react-admin 中的 showNotification 不起作用
- java - MongoDb+Debezium+Kafka:ClassCastException,ObjectId 无法转换为 java.lang.String
- jsp - 为什么要在单个 JSP 页面中声明 3 次 UTF-8 编码?