phpseclib SSH2 зависает в Math_BigInteger :: modPow ()

Я пробовал базовый пример SSH2, но он зависает.

<?php ini_set('display_errors', 1); include('Net/SSH2.php'); $host = '192.168.100.101'; $ssh = new Net_SSH2($host); 

Если я установил временные ограничения, например, 1000 секунд:

 <?php ini_set('display_errors', 1); set_time_limit(1000); include('Net/SSH2.php'); $host = '192.168.100.101'; $ssh = new Net_SSH2($host); в <?php ini_set('display_errors', 1); set_time_limit(1000); include('Net/SSH2.php'); $host = '192.168.100.101'; $ssh = new Net_SSH2($host); 

Я бы получил:

 Fatal error: Maximum execution time of 1000 seconds exceeded in /path/to/Math/BigInteger.php on line 1060 Stack trace: # Time Memory Function Location 1 0.0014 647704 {main}( ) ../index.php:0 2 0.0219 2203280 Net_SSH2->Net_SSH2( ) ../index.php:14 3 0.1114 4439056 Net_SSH2->_key_exchange( ) ../SSH2.php:952 4 0.1837 4520224 Math_BigInteger->modPow( ) ../SSH2.php:1309 5 0.1840 4521888 Math_BigInteger->_slidingWindow( ) ../BigInteger.php:1723 6 0.1842 4523144 Math_BigInteger->_prepareReduce( ) ../BigInteger.php:1817 7 0.1842 4523144 Math_BigInteger->_reduce( ) ../BigInteger.php:1912 8 0.1842 4523144 Math_BigInteger->_barrett( ) ../BigInteger.php:1876 9 0.1844 4536024 Math_BigInteger->divide( ) ../BigInteger.php:2032 10 1001.4549 4577384 Math_BigInteger->subtract( ) ../BigInteger.php:1497 11 1001.4549 4586584 Math_BigInteger->_subtract( ) ../BigInteger.php:991 

Кто-нибудь имеет представление о том, что вызвало это?

Заранее спасибо.

Дополнительная информация: Я использую PHP 5.3.28 в качестве модуля Apache 2.2.10 для Linux x86_64.

Вы используете самый медленный режим phpseclib, так что это не поможет. Но, что сказал …

Попробуйте последнюю версию git. В частности, эта фиксация должна привести к небольшому ускорению:

https://github.com/phpseclib/phpseclib/commit/e4ff01f05475e81a56681ebfdb5473a07099e5ea