Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/279.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何从PHP页面重新启动IIS(或单个站点)?_Php_Iis - Fatal编程技术网

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

如何从PHP页面重新启动IIS(或单个站点)?,php,iis,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

当我在查看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"');
但是得到“拒绝访问”

我试过了

echo Shell_Exec ('powershell.exe -executionpolicy bypass -NoProfile -Command "& {iisreset}"');
echo Shell_Exec ('command.exe appcmd stop site "that_website"');
它不会抛出错误,但也不起作用


目标是:偶尔,PHP会出现问题(快速CGI进程停止工作),我的手机会响。我想让客户端选择按下按钮并重新启动他们的站点。我需要什么权限,和/或什么代码可以这样做?

当我将您的代码修改为

echo Shell_Exec ('appcmd.exe stop site "website"');

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

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

当您遇到拒绝访问错误时,请尝试使用process monitor对此类问题进行故障排除


重新启动IIS需要管理员权限,您的VPS提供商可能不允许您这样做。这不是我的问题。在任何情况下,我都可以完全管理这个盒子。您的帐户可能是管理员,但IIS上的PHP代码可能不是。基本事实总是可以忽略的,