Мое приложение, используемое для работы на PHP 5.4.34 на сервере Amazon Linux. Мы обновили до PHP 5.5.18, чтобы использовать некоторые из более новых библиотек. Теперь phpseclib генерирует ошибку: Undefined смещение: 5827 в /var/www/lib/ShellClient/phpseclib/Math/BigInteger.php на линии 1073Phpseclib работает на php5.5
В этом приложении я Войти через Net_SSH2 и выполнить команду другого сервера Amazon Linux ,
я начать с Crypt_RSA и Net_SSH2 Следующий код дает уведомление бесконечного цикла:
$key = new \Crypt_RSA();
$key->loadKey(file_get_contents([PUBLIC_KEY]));
$ssh = new \Net_SSH2([IP_ADDRESS]], 22);
if(!$ssh->login([USERNAME]], $key)){
return false;
}
$ssh->exec([COMMAND]]);
return true;
Ошибка в BigInteger.php в функции _subtract, которая используется Net_SSH2).
PHP Примечание: Undefined смещение: 5827 в /var/www/lib/ShellClient/phpseclib/Math/BigInteger.php на линии 1073
if ($carry) {
for (; !$x_value[$i]; ++$i) { //1073
$x_value[$i] = MATH_BIGINTEGER_MAX_DIGIT;
}
--$x_value[$i];
}
Перед мое приложение побежал на PHP 5.4.34 и войти в систему с помощью NetSSH2 работал нормально, без каких-либо предупреждений.