当我查看Azure时,有一个选项可以从基于Web的控制面板重新启动IIS:据我的一位朋友说,该接口只是在后端调用Powershell脚本。我当前的VPS提供程序提供了相同的功能,可从网页重新启动Web服务器。
我尝试过
echo Shell_Exec ('powershell.exe -executionpolicy bypass -NoProfile -Command "& {iisreset}"');
但显示“访问被拒绝”。
我尝试过
echo Shell_Exec ('command.exe appcmd stop site "that_website"');
它不会引发错误,但也不起作用。
这是目标:有时,PHP会瘫痪(快速CGI进程已停止工作),并且我的电话响了。我想让客户选择按下按钮并重新启动他们的网站。我需要什么权限,和/或什么代码可以做到?
答案 0 :(得分:0)
将代码修改为
时,我可以使appcmd工作echo Shell_Exec ('appcmd.exe stop site "website"');
如果要使用PHP中的powershell进行iireset之类的操作,只需尝试更改IIS管理器->站点节点->基本设置->连接为->特定用户->尝试将其替换为域管理员帐户。
但是不建议在PHP应用程序中执行此操作。
当您遇到访问被拒绝的错误时,请尝试使用过程监视器来解决此类问题。
https://docs.microsoft.com/en-us/sysinternals/downloads/procmon