Lösung für PHP Schwerwiegender Fehler: Aufruf der undefinierten Funktion ssh2_connect()

王林
Freigeben: 2023-06-22 14:32:01
Original
1372 Leute haben es durchsucht

Bei der Verwendung von SSH2 zum Herstellen einer Verbindung zu einem Remote-Server stoßen einige Benutzer häufig auf die Fehlermeldung „Schwerwiegender PHP-Fehler: Aufruf der undefinierten Funktion ssh2_connect()“, was dazu führt, dass die Verbindung fehlschlägt. Dies liegt daran, dass auf dem Server die Erweiterung ssh2 nicht installiert ist. In diesem Artikel wird erläutert, wie Sie dieses Problem beheben können.

1. Überprüfen Sie, ob die SSH2-Erweiterung installiert ist.

Zuerst müssen Sie überprüfen, ob die SSH2-Erweiterung auf dem Server installiert wurde. Verwenden Sie zur Überprüfung den folgenden Befehl:

php -m | grep ssh2
Nach dem Login kopieren

Wenn auf dem Server die Erweiterung ssh2 installiert ist, sollte die Ausgabe wie folgt aussehen:

ssh2
Nach dem Login kopieren
Nach dem Login kopieren

Wenn die Ausgabe leer ist, müssen Sie die Erweiterung ssh2 installieren.

2. Installieren Sie die SSH2-Erweiterung

Es gibt zwei Möglichkeiten, die SSH2-Erweiterung zu installieren, nämlich den Befehl yum und die manuelle Kompilierung.

Verwenden Sie den Befehl yum

Verwenden Sie zur Installation den folgenden Befehl:

yum install php-pecl-ssh2 -y
Nach dem Login kopieren

Nach Abschluss der Installation starten Sie einfach den Apache- oder Nginx-Dienst neu.

Manuelle Kompilierungsmethode

Wenn auf dem Server der Yum-Paketmanager nicht installiert ist, können Sie die folgenden Schritte ausführen, um die SSH2-Erweiterung manuell zu kompilieren.

2.1 SSH2-Quellcode herunterladen

Gehen Sie zur PECL-Website, um den Quellcode der SSH2-Erweiterung herunterzuladen:

http://pecl.php.net/package/ssh2
Nach dem Login kopieren

Wählen Sie die neueste Version zum Herunterladen aus, z. B. ssh2-1.3.tgz. Geben Sie nach Abschluss des Downloads das SSH2-Quellcodeverzeichnis ein und führen Sie den folgenden Befehl aus:

tar zxvf ssh2-1.3.tgz
cd ssh2-1.3/
Nach dem Login kopieren

2.2 Abhängigkeiten installieren

Verwenden Sie den folgenden Befehl, um die zum Kompilieren der SSH2-Erweiterung erforderlichen Abhängigkeiten zu installieren:

yum install php-devel libssh2 libssh2-devel -y
Nach dem Login kopieren

2.3 Kompilieren und installieren

Führen Sie zum Kompilieren und Installieren den folgenden Befehl aus:

phpize
./configure --with-php-config=/usr/bin/php-config
make && make install
Nach dem Login kopieren

Fügen Sie nach Abschluss die folgende Zeile zur PHP-Konfigurationsdatei php.ini hinzu:

extension=ssh2.so
Nach dem Login kopieren

3. Starten Sie den Apache- oder Nginx-Dienst neu.

Nach der Installation oder Kompilierung der ssh2-Erweiterung können Sie Sie müssen den Apache- oder Nginx-Dienst neu starten, damit die Konfiguration wirksam wird.

Starten Sie den Apache-Dienst mit dem folgenden Befehl neu:

apachectl -k restart
Nach dem Login kopieren

Starten Sie den Nginx-Dienst mit dem folgenden Befehl neu:

nginx -s reload
Nach dem Login kopieren

4. Überprüfen Sie abschließend, ob die SSH2-Erweiterung aktiviert ist. Überprüfen Sie abschließend mit dem Befehl php -m grep ssh2 ob die SSH2-Erweiterung aktiviert ist, Ausgabe. Sie sollte so aussehen:

ssh2
Nach dem Login kopieren
Nach dem Login kopieren

Wenn die Ausgabe leer ist, müssen Sie noch einmal prüfen, ob die SSH2-Erweiterung korrekt installiert ist und bestätigen, dass die Zeile extension=ssh2.so im PHP enthalten ist Konfigurationsdatei php.ini.

Zusammenfassung

Durch die oben genannten Schritte können Sie die Fehlermeldung „Schwerwiegender PHP-Fehler: Aufruf der undefinierten Funktion ssh2_connect()“ beheben. Um diesen Fehler zu vermeiden, wird empfohlen, bei der Installation des Servers die Erweiterung ssh2 zu installieren, um die Verbindung zum Remote-Server zu erleichtern.

Das obige ist der detaillierte Inhalt vonLösung für PHP Schwerwiegender Fehler: Aufruf der undefinierten Funktion ssh2_connect(). Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Verwandte Etiketten:
Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage
Über uns Haftungsausschluss Sitemap
Chinesische PHP-Website:Online-PHP-Schulung für das Gemeinwohl,Helfen Sie PHP-Lernenden, sich schnell weiterzuentwickeln!