Heim > Artikel > Backend-Entwicklung > Schwerwiegender PHP-Fehler: Nicht erfasster Fehler: Aufruf der undefinierten Funktion ssh2 Solution ()
In letzter Zeit wird bei einigen Entwicklern bei der Verwendung von PHP für eine SSH-Verbindung die folgende Fehlermeldung angezeigt:
PHP-Schwerwiegender Fehler: Nicht erfasster Fehler: Aufruf der undefinierten Funktion ssh2_connect()
oder
PHP-Schwerwiegender Fehler: Nicht erfasster Fehler: Aufruf der undefinierten Funktion Funktion ssh2_shell()
Der Hauptgrund für diesen Fehler ist, dass PHP die SSH2-Erweiterungsbibliothek fehlt. In diesem Artikel wird erläutert, wie Sie dieses Problem lösen können.
Suchen Sie zunächst die Datei php_ssh2.dll im ext-Ordner im PHP-Installationsverzeichnis und konfigurieren Sie sie dann in php.ini:
extension=php_ssh2.dll
Dann neu starten Apache Nur der Server. Wenn nach der Ausführung des Befehls php -m das SSH2-Modul vorhanden ist, bedeutet dies, dass die SSH2-Erweiterungsbibliothek erfolgreich geöffnet wurde.
Wenn Ihre PHP-Version niedriger als 5.3.0 ist und die SSH2-Erweiterungsbibliothek nicht bereitgestellt wird, müssen Sie PECL verwenden, um sie zu installieren.
Verwenden Sie zunächst den folgenden Befehl, um libssh2 zu installieren:
yum install libssh2 libssh2-devel
Dann verwenden Sie PECL, um die SSH2-Erweiterungsbibliothek zu installieren:
pecl install ssh2-1.0
Fügen Sie abschließend die folgenden Konfigurationsinformationen hinzu php.ini:
extension=ssh2.so
Dann starten Sie den Apache-Server neu.
Darüber hinaus muss die SSH2-Erweiterungsbibliothek den Pfad von SSH2 konfigurieren. Zu diesem Zeitpunkt müssen Sie die folgenden Konfigurationsinformationen zu /etc/php.d/ssh2.ini hinzufügen:
extension=ssh2.so
ssh2.config=/usr/local/lib
Im Allgemeinen müssen Sie den Pfad in ssh2.config entsprechend der tatsächlichen Situation ändern.
Es scheint, dass es unter Linux sehr häufig vorkommt, dass die ssh2-Bibliothek nicht erkannt wird. Wenn weiterhin Probleme auftreten, müssen Sie überprüfen, ob das libssh2-Paket installiert ist. Sie können auch den folgenden Befehl verwenden, um das libssh2-Paket zu installieren:
yum install libssh2
Abschließend empfehlen wir Ihnen, die folgenden Debugging-Informationen zu Ihrem PHP-Programm hinzuzufügen, um SSH-Verbindungsprobleme während des Debuggens zu erkennen:
error_reporting(E_ALL); //Alle Fehlermeldungen ausgeben
ini_set('display_errors', 'on'); //Fehleranzeige einschalten
Das obige ist der detaillierte Inhalt vonSchwerwiegender PHP-Fehler: Nicht erfasster Fehler: Aufruf der undefinierten Funktion ssh2 Solution (). Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!