【发布时间】:2014-11-14 04:20:51
【问题描述】:
我的应用程序过去在 Amazon Linux 服务器上的 PHP 5.4.34 上运行良好。我们升级到 PHP 5.5.18 以使用一些较新的库。现在 phpseclib 生成错误: 未定义的偏移量:/var/www/lib/ShellClient/phpseclib/Math/BigInteger.php 第 1073 行中的 5827
在这个应用程序中,我通过 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;
错误在函数_subtract中的BigInteger.php中,Net_SSH2使用)。
PHP 通知:未定义的偏移量:/var/www/lib/ShellClient/phpseclib/Math/BigInteger.php 第 1073 行中的 5827
if ($carry) {
for (; !$x_value[$i]; ++$i) { //1073
$x_value[$i] = MATH_BIGINTEGER_MAX_DIGIT;
}
--$x_value[$i];
}
在我的应用程序在 PHP 5.4.34 上运行并通过 NetSSH2 登录之前正常工作,没有任何警告。
【问题讨论】:
标签: phpseclib