如何通过登录到另一台服务器从php执行tcl脚本

时间:2013-07-12 12:00:43

标签: php ssh tcl

我正在开发一个项目,从我的前端(用php编写)需要登录到服务器并执行一个只能在该服务器上运行的tcl脚本。

首先,我想首先生成一个连接,然后在已建立的连接中执行tcl。

我无法生成与服务器的连接。

我的PHP脚本是:

<!DOCTYPE html>
<html>
    <body>
        <?php

        function print_procedure ($arg) {
            $array = array();
            echo exec('/usr/bin/tclsh ./$args',$array);

            for($i=0;$i<count($array);$i++)
            {
                echo "<br>";
                print_r($array[$i]);
                echo "<br>";
            }
            $script_name='test.tcl';
        }
        print_procedure($script_name);

        ?>
    </body>
</html>

请帮帮我。提前谢谢。

1 个答案:

答案 0 :(得分:0)

最简单的方法是在“运行远程​​命令”模式下使用ssh

echo exec('ssh $remotehost /usr/bin/tclsh ./$args', $array);

这假定脚本已经上传到远程主机。如果没有,请先使用scp(与ssh相同的程序套件的一部分)执行此操作。

然后需要将运行该PHP脚本的帐户配置为能够在不输入密码的情况下ssh到远程主机。一个相当安全的方法是使用密钥设置ssh-agent,但我不知道使这个方法适用于PHP的细节。 (关闭目标计算机上的密码也可以,但在安全方面可怕!)