我有一个名为app.exe的应用程序它在同一个文件夹c:\中创建一个名为account.txt的文件,问题是当我从php exec函数或cmd运行程序时,account.txt文件没有创建 我认为问题来自权限。
Run From:发生了什么
Manualy执行并创建了文件account.txt
PHP exec已执行但未创建account.txt
CMD已执行,但未创建account.txt
for php我用:
exec("C:\\windows\\system32\\cmd.exe /c START c:\app.exe");
对于cmd我使用:
START C:\app.exe
答案 0 :(得分:1)
需要提升的程序应在其manifest中指定。这对PHP问题没有帮助,特别是如果这是一个使用PHP的Web服务器。如果不显示UAC UI,则无法提升。
我不知道在Cmd中执行某些操作时请求提升的简单方法。您可能只需要启动Cmd(右键单击和“以管理员身份运行”)。
PHP可能以不同的用户身份运行,但您向我们提供了有关您的设置的零信息,因此我不知道。
在不了解app.exe或Windows版本或一般配置的情况下,很难给出具体的建议。
如果要确认它是权限问题,可以尝试运行Process Monitor,以便了解文件操作失败的原因。
答案 1 :(得分:0)
您应该能够使用runas命令
runas /profile /user:*admin user here* “*path to program here*”
然后会提示您输入该用户密码,之后应以管理员身份运行。