最大执行时间超过30秒(SSH)

时间:2015-03-16 06:55:40

标签: php ssh rsa phpseclib

我是php和phpseclib的新手。

我打算在php中编写一个SSH客户端作为我项目的一部分。我正在使用phpseclib库。

在我的项目中,公钥将上传到仅支持openSSH和Putty密钥格式(公钥)的服务器(路由器)。

我使用puttykeygen创建了密钥对。我在php写了一个SSH客户端。但在显示加载一段时间后,它显示: 注意:我认为这不是因为执行时间有限(30秒)

  

致命错误:第2699行的C:\ xampp \ htdocs \ pages \ Net \ SSH2.php超出最多执行时间30秒

我的代码:

<?php
include('Net/SSH2.php');
include('Crypt/RSA.php');

$ssh = new Net_SSH2('remoteip');
$key = new Crypt_RSA();
$key->loadKey(file_get_contents('sshprivatekeyfile'));
if (!$ssh->login('admin', $key)) {
print_r($ssh->getError());
exit('Login Failed');
}

echo $ssh->exec('show clients');/any router commands/*
?>

2 个答案:

答案 0 :(得分:0)

检查此LINK

延长最长执行时间,如下所示:

ini_set('max_execution_time', 300); // 300秒

答案 1 :(得分:0)

在CLI(Linux)上执行ping 192.168.10.1。它结束了吗?它不适合我。它只是永远地发送数据。所以这可能就是为什么它适合你的原因。因为ping命令实际上并没有结束。

有两种解决方案。

  1. ping -c 4 192.168.10.1
  2. $ssh->setTimeout(4)之前$ssh->exec()