fix: Passing null to parameter #5 ($passphrase) of type string is deprecated

This commit is contained in:
耗子 2025-12-24 19:59:33 +08:00
parent 64b5221787
commit 49724fa940
No known key found for this signature in database
GPG Key ID: C964D7226D045DAA

View File

@ -160,8 +160,14 @@ class ssh implements DeployInterface
file_put_contents($publicKeyPath, $publicKey);
umask($umask);
$passphrase = $this->config['passphrase'] ?? null; // 私钥密码
if (!ssh2_auth_pubkey_file($connection, $this->config['username'], $publicKeyPath, $privateKeyPath, $passphrase)) {
throw new Exception('私钥认证失败');
if ($passphrase) {
if (!ssh2_auth_pubkey_file($connection, $this->config['username'], $publicKeyPath, $privateKeyPath, $passphrase)) {
throw new Exception('私钥认证失败');
}
} else {
if (!ssh2_auth_pubkey_file($connection, $this->config['username'], $publicKeyPath, $privateKeyPath)) {
throw new Exception('私钥认证失败');
}
}
} else {
if (!ssh2_auth_password($connection, $this->config['username'], $this->config['password'])) {