Solution à l'erreur fatale PHP : appel à la fonction non définie ssh2_connect()

王林
Libérer: 2023-06-22 14:32:01
original
1372 Les gens l'ont consulté

Lors de l'utilisation de SSH2 pour se connecter à un serveur distant, certains utilisateurs rencontrent souvent le message d'erreur « Erreur fatale PHP : appel à la fonction non définie ssh2_connect() », provoquant l'échec de la connexion. Cela est dû au fait que l'extension ssh2 n'est pas installée sur le serveur. Cet article explique comment résoudre ce problème.

1. Vérifiez si l'extension SSH2 est installée

Tout d'abord, vous devez vérifier si l'extension ssh2 a été installée sur le serveur. Utilisez la commande suivante pour vérifier :

php -m | grep ssh2
Copier après la connexion

Si l'extension ssh2 est installée sur le serveur, la sortie devrait ressembler à ceci :

ssh2
Copier après la connexion
Copier après la connexion

Si la sortie est vide, vous devez installer l'extension ssh2.

2. Installez l'extension SSH2

Il existe deux façons d'installer l'extension ssh2, à savoir en utilisant la commande yum et la compilation manuelle.

Utilisez la commande yum

Utilisez la commande suivante pour installer :

yum install php-pecl-ssh2 -y
Copier après la connexion

Une fois l'installation terminée, redémarrez simplement le service Apache ou Nginx.

Méthode de compilation manuelle

Si le gestionnaire de packages yum n'est pas installé sur le serveur, vous pouvez utiliser les étapes suivantes pour compiler manuellement l'extension ssh2.

2.1 Téléchargez le code source de ssh2

Allez sur le site Web de PECL pour télécharger le code source de l'extension ssh2 :

http://pecl.php.net/package/ssh2
Copier après la connexion

Choisissez la dernière version à télécharger, telle que ssh2-1.3.tgz. Une fois le téléchargement terminé, entrez dans le répertoire du code source ssh2 et exécutez la commande suivante :

tar zxvf ssh2-1.3.tgz
cd ssh2-1.3/
Copier après la connexion

2.2 Installer les dépendances

Utilisez la commande suivante pour installer les dépendances requises pour compiler l'extension ssh2 :

yum install php-devel libssh2 libssh2-devel -y
Copier après la connexion

2.3 Compiler et installer

Exécutez la commande suivante pour compiler et installer :

phpize
./configure --with-php-config=/usr/bin/php-config
make && make install
Copier après la connexion

Une fois terminé, ajoutez la ligne suivante au fichier de configuration PHP php.ini :

extension=ssh2.so
Copier après la connexion

3. Redémarrez le service Apache ou Nginx

Après avoir installé ou compilé l'extension ssh2, vous vous devez redémarrer le service Apache ou Nginx pour que la configuration prenne effet.

Redémarrez le service Apache à l'aide de la commande suivante :

apachectl -k restart
Copier après la connexion

Redémarrez le service Nginx à l'aide de la commande suivante :

nginx -s reload
Copier après la connexion

4. Vérifiez si l'extension SSH2 est activée

Enfin, utilisez la commande php -m | grep ssh2 pour revérifier. si l'extension ssh2 est activée, la sortie devrait ressembler à ceci :

ssh2
Copier après la connexion
Copier après la connexion

Si la sortie est vide, vous devez revérifier que l'extension SSH2 est correctement installée et confirmer que la ligne extension=ssh2.so est incluse dans le Fichier de configuration PHP php.ini.

Résumé

Grâce aux étapes ci-dessus, vous pouvez résoudre le message d'erreur « Erreur fatale PHP : appel à une fonction non définie ssh2_connect() ». Afin d'éviter cette erreur, il est recommandé d'installer l'extension ssh2 lors de l'installation du serveur pour faciliter la connexion au serveur distant.

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!

Étiquettes associées:
source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal
À propos de nous Clause de non-responsabilité Sitemap
Site Web PHP chinois:Formation PHP en ligne sur le bien-être public,Aidez les apprenants PHP à grandir rapidement!