如何从PHP页面重新启动IIS(或单个站点)?

时间:2019-10-20 01:25:12

标签: php iis

当我查看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进程已停止工作),并且我的电话响了。我想让客户选择按下按钮并重新启动他们的网站。我需要什么权限,和/或什么代码可以做到?

1 个答案:

答案 0 :(得分:0)

将代码修改为

时,我可以使appcmd工作
echo Shell_Exec ('appcmd.exe stop site "website"');

enter image description here

如果要使用PHP中的powershell进行iireset之类的操作,只需尝试更改IIS管理器->站点节点->基本设置->连接为->特定用户->尝试将其替换为域管理员帐户。

但是不建议在PHP应用程序中执行此操作。

当您遇到访问被拒绝的错误时,请尝试使用过程监视器来解决此类问题。

https://docs.microsoft.com/en-us/sysinternals/downloads/procmon