作为管理员和拥有';管理员权限';在Windows上


Is there any difference between being Administrator and having 'admin rights' on Windows?

我有一个奇怪的问题。

我正在使用由我和第三方编写的Windows软件。

第三方已创建安装程序。此安装程序以编程方式运行请求管理权限。此安装程序还将Apache作为Windows服务进行安装。因为安装程序是使用管理员权限运行的,所以我们希望Apache Windows服务使用管理员权限来运行。

我们看到的问题是,根据Apache的启动方式,在Apache上运行的php脚本会得到不同的结果。

如果Apache作为Windows服务运行,通过上面提到的安装程序安装,我们会得到错误的结果。如果Apache是从cmd提示符启动的(以用户管理员身份启动),那么php脚本会给出正确的结果。

有人能提出可能出了什么问题吗?

注:。php脚本正在运行CutyCapt.exe(一个png捕获实用程序的网站)。

Apache服务,无论它是如何安装的,始终在"LocalSystem"帐户下启动(除非您后来更改它)。

另一方面,当您通过命令行启动Apache进程时,它将在运行命令行(cmd.exe)的同一帐户下启动。

我的猜测是,要么LocaSystem无法访问该应用程序可能需要的桌面,要么它无法执行exe。。。查看Apache和PHP的错误日志。另请检查Windows事件日志。

安装程序需要管理员权限才能对系统进行修改(例如写入所有用户共享的HKLM注册表项)。这并不意味着安装程序会自动将要安装的服务配置为在具有管理员权限的帐户下运行。

服务和从命令行启动的"正常"应用程序之间有一个很大的区别,那就是服务无法访问可能显示一些消息的"屏幕"。而且服务无法访问一些常见的地方,比如用户的临时文件存储等,因为它们运行在一个"没有用户登录"的环境中。

如果不更准确地知道你收到的"错误结果"是什么,就无法猜测问题到底是什么。

此在交互式会话应答中启动Windows服务可能会提供一些其他提示。

我会先检查phpinfo()和环境变量,然后检查CutyCapt.exe的要求。例如,用户的临时文件存储在默认情况下是不可访问的,注册表值不能自由读取,这是我已经看到的的一个问题

对于Windows+Apache+MySQL+PHP安装程序的0问题,我推荐Bitnami的WAMP堆栈https://bitnami.com/stack/wamp,自带,可移植式

我给rightstuff的答案投了赞成票。还有一件事需要尝试。转到"控制面板"=>"管理工具"=>"服务"。(或者只需在按下WIN+R后键入"services.msc"即可打开"运行"对话框。)

在服务管理屏幕中,右键单击Apache服务。然后转到"登录"选项卡。指定要运行服务的帐户和密码。