首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >向Windows服务控制管理器(SCM)提供IIS/PHP权限

向Windows服务控制管理器(SCM)提供IIS/PHP权限
EN

Stack Overflow用户
提问于 2013-09-22 11:59:15
回答 1查看 620关注 0票数 3

因此,我调用一个PHP函数来访问Windows 7服务的状态,如下所示:

代码语言:javascript
复制
win32_query_service_status($service_name);

在本地安装的WAMP实例下运行时,该函数将像预期的那样返回一个信息数组。

在IIS下运行时,将返回一个错误状态5,根据文档,该错误对应于以下错误:

代码语言:javascript
复制
WIN32_ERROR_ACCESS_DENIED   0x00000005
The handle to the SCM database does not have the appropriate access rights.

因此,使用phpinfo(),我检查运行PHP环境的用户名。在WAMP站点上,服务在我的用户ID (在Windows本地管理员组中)下运行。

在IIS版本下,用户是F6729-44TP6S7$ (这是我的计算机的名称,后面跟着一个$)。因此,解决方案可能只是授予该用户在Windows中服务控制管理器(,SCM)上的必要权限。

但问题是,我对IIS (或Windows)的内部工作不太了解,无法知道这个用户ID来自何处(这意味着我不知道如何授予它必要的特权)。用户不存在于我的计算机管理控制台中,我也找不到它在IIS管理工具中的定义位置。

,所以问题是:,我需要做什么才能让这个函数在IIS下运行?如何将必要的权限授予IIS下的PHP管理器。或者,如何更改运行PHP管理器的用户Id?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-09-25 07:58:04

因此,很显然,这只是一个知道谷歌的目的的问题。一旦你知道你在寻找什么,你就更有可能找到它。

https://serverfault.com/questions/232907/wcf-service-hosted-in-iis7-with-administrator-rights

答案是:

在IIS管理器中,转到:

站点>您的网站

在IIS分节下的“功能”视图中

身份验证>匿名认证>鼠标右键“编辑.”>选择:应用程序池标识确定

这允许匿名连接到网站,在操作系统级别上以管理员用户身份运行PHP (和其他IIS服务)。

如果有人想复制这个答案,或者在你的答案中添加任何有用的信息来要求赏金,那就继续吧。因果报应,生命的循环,诸如此类。

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/18943598

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档