我将PHP网站从win2003sp2 Standard
移到win7 Enterprise
。没有改变。该网站在win2003中正常运行。但是在win7中通过win32_query_service_status()
获取服务状态时,请返回WIN32_ERROR_ACCESS_DENIED
。
我无法理解。
作为Dan提供的链接,我知道Win2003与远程认证用户的Windows不同。这是我无法通过我的网页获得服务状态的根本原因吗?
Windows Server 2003 and Windows XP: Remote authenticated users are granted the SC_MANAGER_CONNECT, SC_MANAGER_ENUMERATE_SERVICE, SC_MANAGER_QUERY_LOCK_STATUS, and STANDARD_RIGHTS_READ access rights. These access rights are restricted as described in the previous table as of Windows Server 2003 with SP1
自win2003sp1
起,访问权限受到限制。但该网站在win2003sp2
上的工作正确。我认为这可能不是根本原因。
答案 0 :(得分:1)
运行PHP的用户没有对SCM数据库的正确权限。有关详细信息,请参阅此处:http://msdn.microsoft.com/en-us/library/windows/desktop/ms685981(v=vs.85).aspx
答案 1 :(得分:0)
WIN32_ERROR_ACCESS_DENIED
错误"The handle to the SCM database does not have the appropriate access rights"
。
检查当前用户对可能有帮助的文件夹的权限..
答案 2 :(得分:0)
最后,更改win32_query_service_status()
所在文件夹的身份验证,解决了我的问题。
- 匿名身份验证 - 已禁用
- Windows身份验证 - 已启用
醇>