我正在寻找一种使用php重启远程专用服务器的方法。在Google上做研究时,我读到了关于Python shell客户端的内容。 php中有类似内容吗?
我可以使用php使用shell命令重启远程服务器吗?以及需要做什么?
答案 0 :(得分:0)
你可能可以,通过使用exec(),passthru()等。这是一个好主意,我不确定:你将不得不提供重启权限(我不确切知道,但它几乎是根...)给你的php用户。
可以肯定的是,你想要做的是调用一个会重启你的服务器的网页,或者它更复杂吗?
答案 1 :(得分:0)
我假设您需要在php中实现基于Web的shell。 在这种情况下,您可以查看此http://ajaxshell.sourceforge.net/ 这个http://sourceforge.net/projects/ajaxshell/
使用这些脚本可以运行任意shell命令。 但要记住两件事。 1.密码保护Web shell应用程序 2. shell将以apache用户身份运行命令。如果要重新启动服务器,apache可能需要root权限。以root身份运行apache通常被认为不是一种好习惯。
答案 2 :(得分:0)
PHP有一个等效的shell。我最近发布了一个允许PHP获取真实Bash shell并与之交互的项目,你甚至可以轻松地获得一个带root的shell。在此处获取:https://github.com/merlinthemagic/MTS
下载后,您只需使用以下代码:
//if PHP is running on the server you want to reboot:
$shell = \MTS\Factories::getDevices()->getLocalHost()->getShell('bash', true);
//if PHP needs to SSH to the server first
$shell = \MTS\Factories::getDevices()->getRemoteHost('ip_address')->getShellBySsh('username', 'password');
$strCmd = "reboot";
$return1 = $shell->exeCmd($strCmd);