Heim > Artikel > Backend-Entwicklung > Lösung für PHP Schwerwiegender Fehler: Aufruf der undefinierten Methode mysqli::stmt_init()
Bei der Verwendung von PHP für MySQL-Datenbankoperationen tritt häufig der Fehler „Schwerwiegender PHP-Fehler: Aufruf der undefinierten Methode mysqli::stmt_init()“ auf. Dieser Fehler wird normalerweise dadurch verursacht, dass PHP die MySQL-Erweiterungsbibliothek oder die MySQL-Erweiterungsbibliothek nicht korrekt lädt . Verursacht durch Versionsinkompatibilität. In diesem Artikel erklären wir, wie Sie dieses Problem lösen können.
Schritt eins: Überprüfen Sie, ob PHP die MySQL-Erweiterungsbibliothek korrekt lädt.
In PHP können wir die aktuellen PHP-Konfigurationsinformationen über die Funktion phpinfo() anzeigen. Öffnen Sie das Terminal und geben Sie den folgenden Befehl ein, um die aktuellen PHP-Konfigurationsinformationen anzuzeigen:
php -r "phpinfo();"
Nach der Ausführung dieses Befehls werden die PHP-Konfigurationsinformationen ausgegeben. Wir müssen bestätigen, ob die MySQL-Erweiterungsbibliothek geladen wurde.
Sie können mit Strg + F nach mysqli suchen. Wenn es nicht gefunden wird, bedeutet dies, dass die MySQL-Erweiterungsbibliothek nicht geladen ist und Sie zuerst die MySQL-Erweiterungsbibliothek installieren müssen.
Schritt 2: Installieren Sie die MySQL-Erweiterungsbibliothek
Je nach Ihrer tatsächlichen Situation können Sie die MySQL-Erweiterungsbibliothek auf die folgenden zwei Arten installieren:
sudo apt-get update sudo apt-get install php-mysql
sudo yum update sudo yum install php-mysql
Wenn der obige Befehl nicht ausgeführt werden kann, können Sie die Erweiterung manuell kompilieren und installieren. Nehmen Sie das Ubuntu-System als Beispiel:
sudo apt-get update sudo apt-get install php7.2-dev libmysqlclient-dev sudo pecl channel-update pecl.php.net sudo pecl install mysqlnd_ms
Beachten Sie, dass php7.2-dev im obigen Befehl auf die aktuell verwendete PHP-Version geändert werden muss. Wenn es nicht installiert ist, wird es nicht installiert erfolgreich kompiliert.
Nachdem die Installation abgeschlossen ist, müssen Sie die folgenden Konfigurationsinformationen in php.ini hinzufügen:
extension=mysqlnd_ms.so
Schritt 3: Starten Sie den Apache-Dienst neu.
Nach der Installation der MySQL-Erweiterungsbibliothek müssen Sie den Apache-Dienst neu starten, um ihn zu erstellen wirksam werden:
sudo /etc/init.d/apache2 restart
sudo systemctl restart httpd
Nach Abschluss der oben genannten drei Schritte führen Sie das Programm erneut aus und Sie können sich für den Betrieb normal mit der MySQL-Datenbank verbinden.
Zusammenfassung:
Bei der Verwendung von PHP für MySQL-Datenbankoperationen kann es leicht zu dem Fehler „Schwerwiegender PHP-Fehler: Aufruf der undefinierten Methode mysqli::stmt_init()“ kommen. Dieser Fehler wird normalerweise dadurch verursacht, dass PHP die MySQL-Erweiterung nicht lädt Oder die Version der MySQL-Erweiterungsbibliothek ist nicht kompatibel. Um dieses Problem zu beheben, können wir überprüfen, ob die MySQL-Erweiterungsbibliothek korrekt geladen wurde, indem wir die von der Funktion phpinfo() zurückgegebenen Informationen überprüfen. Wenn sie nicht korrekt geladen wird, müssen Sie die MySQL-Erweiterungsbibliothek über die Befehlszeile oder manuell installieren Kompilieren und installieren Sie es. Nach Abschluss der Installation müssen Sie den Apache-Dienst neu starten, damit er wirksam wird.
Das obige ist der detaillierte Inhalt vonLösung für PHP Schwerwiegender Fehler: Aufruf der undefinierten Methode mysqli::stmt_init(). Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!