web-dev-qa-db-ja.com

ssh2_connect()give PHP致命的エラー:キャッチされないエラー:未定義関数の呼び出し

私は使っている

  • php7
  • Ubuntu 16.04.1 LTS

ssh2_connectssh2_auth_passwordを使用して接続しようとしていますが、これは別のサーバーからファイルを取得するためです

次のようなエラーが表示されますPHP Fatal error: Uncaught Error: Call to undefined function ssh2_connect()

$connection = ssh2_connect($connectionIp, 22, array('hostkey'=>'ssh-rsa'));

if (ssh2_auth_password($connection, 'username', 'password')) {
        echo "Authentication Successful!\n";
      } else {
        die('Authentication Failed...');
      }

私は以下のようにインストールしています:

Sudo apt-get install libssh2-php && Sudo /etc/init.d/Apache2 restart

私はメッセージを受け取ります

Package libssh2-php is not available, but is referred to by another package.
This may mean that the package is missing, has been obsoleted, or
is only available from another source
However the following packages replace it:
php-ssh2:i386 php-ssh2

E: Package 'libssh2-php' has no installation candidate

私は同じコードを使用していました

  • php5
  • ubuntu 14.04

上記のコードは、PHPにアップグレードしたときに完全に機能し、ubuntuの上位バージョンではこのコードは機能しません。

ご提案いただきありがとうございます。

2
sanainfotech

2日間苦労した後、My Linux管理者はこのパッケージを以下にインストールすることを提案しました。

Sudo apt install php-ssh2

上記のパッケージをインストールした後、my ssh2_connectndefined functionは消えました。

3
sanainfotech