我正在使用 Cygwin 向 Windows 服务器发送命令。几天前我问了一个问题,但仍然没有答案。我对 phpseclib 有一个大问题,它是 $ssh->write(); 命令。我用过 $ssh->exec(); 但是发送到服务器的命令正在下载游戏服务器文件,这可能需要长达 20 分钟,一段时间后 php 页面超时,因为它超过了 FastCGI 超时设置。所以,我认为 $ssh->write(); 可以为我解决它,但我发送到服务器的命令没有得到执行。这是 exec 的命令和我尝试使用的 write:
$ssh->exec('C:/hldsupdatetool/hldsupdatetool -command update -game ".$game." -dir ".$dir');
并且此代码永远加载然后超时。我已经通过将 FastCGI 的超时设置更改为一小时来解决这个问题,这是最大值。此命令确实在服务器上执行。
这是我试图发送但不执行的写命令:
$ssh->write('C:/hldsupdatetool/hldsupdatetool -command update -game ".$game." -dir ".$dir."\r\n");
此命令不会在服务器上执行。回显它时我得到的响应是“1”。
非常感谢任何帮助!目前正在制作一个开源游戏服务器控制面板。
提前致谢!
最好的问候,汤姆。