在perl-php中通过ssh命令重新启动apache服务器
我试图通过perl-php中的ssh命令重新启动Apache服务器 下面是我试过的代码。它通过油灰起作用。但若我通过浏览器运行,它不会在以下行运行:在perl-php中通过ssh命令重新启动apache服务器,apache,perl,ssh,Apache,Perl,Ssh,我试图通过perl-php中的ssh命令重新启动Apache服务器 下面是我试过的代码。它通过油灰起作用。但若我通过浏览器运行,它不会在以下行运行:$output=$ssh->exec(“systemctl status apache2”) 错误: “警告:终端功能不全” 尽管Net::SSH是一个优雅的模块,但我建议您在默认情况下使用可用的系统工具 您有可用的ssh,并且使用ssh密钥更安全,特别是因为您当前在脚本中显示密码。如果您不确定如何设置ssh密钥,请告诉我,我会将其添加到答案中 实际
$output=$ssh->exec(“systemctl status apache2”)
错误:
“警告:终端功能不全”
尽管Net::SSH是一个优雅的模块,但我建议您在默认情况下使用可用的系统工具 您有可用的ssh,并且使用ssh密钥更安全,特别是因为您当前在脚本中显示密码。如果您不确定如何设置ssh密钥,请告诉我,我会将其添加到答案中 实际上,您的整个脚本可以是:
use strict;
use warnings;
my $apache_status = `ssh username\@servername systemctl status apache2`;
print $apache_status;
你们所说的“虽然”是什么意思?若我在浏览器中运行,那个么它不会在第行运行。你们看到了什么错误?发生了什么?@Gerhard Barnard:我正试图通过php执行这个perl文件。因此,当我shell_exec perl文件时,它会说“警告:终端功能不全”,您是否能够在没有错误的情况下手动从源ssh到目标ssh?源操作系统和目标操作系统是什么?@Gerhard Barnard:是的,我可以手动重新启动服务器,不会出现任何错误。源服务器和目标服务器是Ubuntu Linux。@昆汀:我希望通过浏览器运行脚本。虽然没有达到预期的效果。谢谢。我也会尝试这种方式。
use strict;
use warnings;
my $apache_status = `ssh username\@servername systemctl status apache2`;
print $apache_status;