Heim >Backend-Entwicklung >PHP-Tutorial >Lösung für PHP Schwerwiegender Fehler: Aufruf der undefinierten Funktion ssh2_sftp()

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

WBOY
WBOYOriginal
2023-06-23 11:12:131393Durchsuche

Bei Entwicklern, die PHP für SSH-Verbindungen verwenden, kann es sehr häufig vorkommen, dass der Fehler „Schwerwiegender PHP-Fehler: Aufruf der undefinierten Funktion ssh2_sftp()“ auftritt. Dieser Fehler wird normalerweise durch eine fehlende Erweiterung verursacht. In diesem Artikel erfahren Sie, wie Sie ihn beheben können.

Zuerst müssen wir prüfen, ob die SSH2-Erweiterung bereits auf dem Server installiert ist. Führen Sie den folgenden Befehl im Terminal aus, um zu überprüfen, ob es installiert ist:

php -m | grep ssh2

Wenn das Rückgabeergebnis leer ist, ist die SSH2-Erweiterung nicht installiert. Wir müssen es installieren, indem wir die folgenden Schritte ausführen:

  1. Libssh2 installieren

Libssh2 ist eine Client-Bibliothek, die auf dem SSH2-Protokoll für die Verbindung mit dem SSH-Server basiert. Wir müssen die Libssh2-Bibliothek von der offiziellen Website herunterladen. Den neuesten Libssh2-Quellcode finden Sie unter folgendem Link:

https://www.libssh2.org/download/libssh2-1.9.0.tar.gz

Nachdem der Download abgeschlossen ist, entpacken Sie die Datei und geben Sie die Datei ein Im dekomprimierten Ordner führen Sie den folgenden Befehl im Terminal aus, um Libssh2 zu installieren:

./configure
make
sudo make install
  1. Install PECL SSH2 extension

PECL ist das PHP-Erweiterungsbibliothekszentrum, das den Quellcode vieler PHP-Erweiterungen bereitstellt. Wenn wir PECL zum Installieren der SSH2-Erweiterung verwenden möchten, müssen wir den folgenden Befehl im Terminal ausführen:

sudo pecl install ssh2

Während des Installationsvorgangs werden Sie möglicherweise aufgefordert, den Pfad zur Konfigurationsdatei php.ini einzugeben. Sie können den folgenden Befehl verwenden, um den Pfad zur php.ini-Datei zu finden:

php -i | grep php.ini

Nach der Installation müssen Sie die folgenden Konfigurationsinformationen in die php.ini-Datei einfügen:

extension=ssh2.so
  1. Starten Sie den PHP-FPM- oder Apache-Server neu

Führen Sie die beiden oben genannten Schritte aus. Nach diesen Schritten müssen wir den PHP-FPM- oder Apache-Server neu starten. Führen Sie den folgenden Befehl im Terminal aus, um PHP-FPM neu zu starten:

sudo service php-fpm restart

Wenn Sie einen Apache-Server verwenden, können Sie den folgenden Befehl zum Neustart verwenden:

sudo service apache2 restart
  1. Überprüfen Sie, ob die SSH2-Erweiterung installiert ist

Wir können dies noch einmal überprüfen wenn die SSH2-Erweiterung installiert ist. Installieren. Führen Sie im Terminal den folgenden Befehl aus:

php -m | grep ssh2

Wenn das Wort „ssh2“ zurückgegeben wird, beweist dies, dass die SSH2-Erweiterung erfolgreich installiert wurde.

Wenn das Problem nach den oben genannten Schritten immer noch nicht gelöst werden kann, können Sie versuchen, andere abhängige Bibliotheken zu installieren oder die PHP-Version zu aktualisieren.

Kurz gesagt, um den Fehler „Schwerwiegender PHP-Fehler: Aufruf der undefinierten Funktion ssh2_sftp()“ zu beheben, müssen wir das Problem sorgfältig beheben und die oben genannten Schritte nacheinander ausführen, um es zu überprüfen. Viel Spaß bei der Problemlösung!

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

Stellungnahme:
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