web-dev-qa-db-fra.com

ssh2_connect () donne PHP Erreur fatale: Erreur non capturée: Appel à une fonction non définie

J'utilise

  • php7
  • Ubuntu 16.04.1 LTS

J'essaie d'établir une connexion ssh2_connect en utilisant ssh2_auth_password, la raison en est d'obtenir des fichiers d'un autre serveur.

Je reçois une erreur comme ci-dessous 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...');
      }

J'ai installer comme ci-dessous:

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

Je reçois le message

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

J'utilisais le même code pour

  • php5
  • ubuntu 14.04

Ce code ci-dessus a parfaitement fonctionné lorsque je suis mis à niveau vers PHP et que la version ultérieure d'ubuntu ne fonctionne pas.

Merci d'avance pour toutes vos suggestions.

2
sanainfotech

Après avoir lutté pendant 2 jours, mon administrateur Linux a suggéré d'installer ce paquet ci-dessous.

Sudo apt install php-ssh2

Après avoir installé le paquet ci-dessus, mon ssh2_connectfonction non définie a disparu.

3
sanainfotech