Récemment, lors de l'utilisation de PHP pour une connexion SSH, certains développeurs rencontreront le message d'erreur suivant :
Erreur fatale PHP : Erreur non détectée : Appel à la fonction non définie ssh2_connect()
ou
Erreur fatale PHP : Erreur non détectée : Appel à une fonction non définie function ssh2_shell()
La raison principale de cette erreur est qu'il manque à PHP la bibliothèque d'extension ssh2. Cet article explique comment résoudre ce problème.
Tout d'abord, recherchez le fichier php_ssh2.dll dans le dossier ext sous le répertoire d'installation de PHP, puis configurez-le dans php.ini :
extension=php_ssh2.dll
Puis redémarrez Apache Juste le serveur. S'il y a le module ssh2 après avoir exécuté la commande php -m, cela signifie que la bibliothèque d'extension ssh2 a été ouverte avec succès.
Si votre version de PHP est inférieure à 5.3.0 et que la bibliothèque d'extensions ssh2 n'est pas fournie, vous devez utiliser PECL pour l'installer.
Tout d'abord, utilisez la commande suivante pour installer libssh2 :
yum install libssh2 libssh2-devel
Ensuite, utilisez PECL pour installer la bibliothèque d'extension ssh2 :
pecl install ssh2-1.0
Enfin, ajoutez les informations de configuration suivantes dans php.ini :
extension=ssh2.so
Puis redémarrez le serveur Apache.
De plus, la bibliothèque d'extension ssh2 doit configurer le chemin de ssh2. À ce stade, vous devez ajouter les informations de configuration suivantes à /etc/php.d/ssh2.ini :
extension=ssh2.so
ssh2.config=/usr/local/lib
Généralement, vous devez modifier le chemin dans ssh2.config en fonction de la situation réelle.
Il semble que sous Linux, il est très courant que la bibliothèque ssh2 ne soit pas reconnue. Si vous rencontrez toujours des problèmes, vous devez vérifier si le package libssh2 est installé. Vous pouvez également utiliser la commande suivante pour installer le package libssh2 :
yum install libssh2
Enfin, nous vous recommandons d'ajouter les informations de débogage suivantes à votre programme PHP pour découvrir les problèmes de connexion SSH lors du débogage :
error_reporting(E_ALL); // Afficher tous les messages d'erreur
ini_set('display_errors', 'on'); //Activer l'affichage des erreurs
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!