Heim > Artikel > Backend-Entwicklung > Lösung für PHP Schwerwiegender Fehler: Aufruf der undefinierten Funktion ssh2_sftp()
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:
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
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
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
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!