它应该测试特定端口是否在localhost上打开,如果没有,重启。
它在Windows中运行。
答案 0 :(得分:1)
应该这样做,在Windows 7上测试并正常工作。应该适用于所有NT口味:
function testPort($port, $timeout = 5) {
if(!fsockopen('127.0.0.1', $port, $errno, $errstr, $timeout)) {
exec("shutdown.exe /r");
}
}
testPort(8080);
答案 1 :(得分:0)
您可以编写PHP扩展来执行此操作。扩展应使用Windows API重新启动计算机,因为套接字检查部分可以直接在PHP中完成。 Here是关于如何编写扩展名的问题。
InitiateSystemShutdown是您可以调用以实际重新启动的Win32 API函数。
答案 2 :(得分:0)
使用套接字 您需要使用该特定端口打开与localhost的TCP连接(套接字)。如果连接建立,则表示端口已打开,否则(如果超时或拒绝),则端口关闭。
仅适用于TCP端口
对于“重启”部分,请使用exec
('shutdown -r');