2017-09-18 1 views
-1

코드가 매우 느리게 실행되는 것으로 나타났습니다. 그래서 나는 에코와 숫자를 사용하는 곳을 알아내는 버퍼 스트림을 만들었습니다. 에코 3을 얻는 것은 매우 빠르지 만 에코 3 에코 4는 몇 초 걸립니다. 나는 SSH 콘과 ANSI 성능을 개선하는 방법을PHPSECLIB Ansi의 속도가 매우 느림

include('Net/SSH2.php'); 
include('File/ANSI.php'); 
$ssh = new Net_SSH2($HostName, $Port); 
if (!$ssh->login($ADID, $UnixPass)) { 
exit('Login Failed'); 
} 
ob_implicit_flush(); 
$ansi = new File_ANSI(); 
echo "3"; 
@$ansi->appendString($ssh->read()); 
echo @$ansi->getScreen(); 
echo "4"; 

어떤 생각을 떠나 모든 코드를 제거?

답변

1

$ssh->read()에는 매개 변수가없는 경우 제한 시간 (기본적으로 10 초)에 도달 할 때까지 읽습니다. 두 가지 해결책이 있습니다 :

  1. Do $ssh->read('[email protected]:~$');, 프롬프트에서 [email protected]:~$을 변경하십시오.
  2. Do $ssh->setTimeout(2);. 예. 시간 초과를 얻는 것보다 적게 설정하십시오. 2 초 또는 idk와 비슷합니다
+0

이것은 정확하게 내가 필요로하고 많은 시간을 면도했습니다. 읽기 ('username @ username : ~ $'| 'username @ username : ~')와 같은 것을 할 수 있습니까? – MoonEater916

+0

@ MoonEater916 -'$ ssh-> 읽기 ('# 사용자 이름 @ 사용자 이름 : ~ \ $ | 사용자 이름 @ 사용자 : ~> #', NET_SSH2_READ_REGEX)'트릭을해야합니다. – neubert

+0

'$ ssh-> read ('# username @ username : ~ [\ $>] #', NET_SSH2_READ_REGEX) '가 더 간결합니다. – neubert

관련 문제