我正在开发一个Web应用程序,以将G代码发送到3dprinter。该3dprinter具有Linux堆栈。我可以使用以下命令在Win的Ubuntu应用程序中创建它
ssh user@ip
password
sendgcode G28
我搜索出的结果表明,登录后,我应该转到/ usr / share / griffin文件夹并执行以下操作:python3 command_util.py,然后键入“ sendgcode xxxxx”。但是我不知道如何在PHP中实现这些步骤。
我试图在PHP中使用ssh2,但连接和身份验证部分仍然有效。但是ssh2_exec无法正常工作,它返回*** Unknown Syntax -c sendgcode G28
<?php
$host='';
$user='';
$passwd='';
//connect to remote server, port 22;
$connection = ssh2_connect($host, 22);
if (!$connection){
die('connection to '.$host.':22 failed');
}
else{
echo 'connection OK<br/>';
if (ssh2_auth_password($connection, $user, $passwd)){
echo $user.' login OK<br/>';
//run linux command;
$command="sendgcode G28";
$stream = ssh2_exec($connection, $command);
//get contents after send command;
stream_set_blocking($stream, true);
if ($stream === FALSE){
die("command failed");
}
else{
echo stream_get_contents($stream).'<br/>';
}
}
else{
die( $user.' login Failed<br/>');
}
}
?>
我尝试使用如下所示的命令,但它仍返回未知语法-c xxxxx。
<?php
set_include_path('C:/xampp/htdocs/phpseclib1.0.15');
include('Net/SSH2.php');
$ssh = new Net_SSH2('ip');
if (!$ssh->login('username', 'password')) {
exit('Login Failed');
}
echo $ssh->exec('cd /usr/share/griffin');
echo $ssh->exec('ls -la');
?>
任何帮助将不胜感激!
答案 0 :(得分:0)
只需删除PHP中的'&&'或Python中的'\ n',