it-swarm.com.de

Schwerwiegender Fehler: Aufruf der nicht definierten Funktion mysqli_connect ()

Seit 2 Tagen versuche ich das zu lösen, leider kein Ergebnis. Lassen Sie mich meine Geschichte über das Problem erzählen. Ich habe eine Anwendung auf einer Website erstellt, und die Anwendung befasst sich mit den Bewertungen. Aber ich versuche, es auf einer anderen Site zu platzieren, und ich habe die PHP-Dateien, die SQL-Datei von der alten Site, kopiert und auf die neue Site verschoben (sie befinden sich auf verschiedenen FTP-Servern). Wenn ich versuche, die Seiten der Anwendung aufzurufen, erhalte ich diesen FATALEN FEHLER:

Schwerwiegender Fehler: Aufruf der nicht definierten Funktion mysqli_connect ()

Der Code, den ich für die Verbindung zur Datenbank geschrieben habe, lautet (mit versteckten Anmeldeinformationen):

$con = mysqli_connect("","*the_name*","*the_pass*","*the_database*");
if (mysqli_connect_errno()) {
    echo "Failed to connect to MySQL: " . mysqli_connect_error();
}

Warum bekomme ich den Fehler? Es funktioniert auf dem alten Server, und der Code ist meiner Meinung nach nicht das Problem, da es auf localhost und auf dem neuen Server nicht funktioniert. Kann mir jemand helfen?

27
Emi

Die Erweiterung mysqli PHP ist nicht auf Ihrem neuen Server installiert. 

Wenden Sie sich an Ihren Serveradministrator.

4
Satish Sharma

Wenn Sie den Server selbst hosten, entfernen Sie in der Datei php.ini das Semikolon vor der Erweiterung extension = php_mysqli.dll

24
Dave O'Dwyer

Für CentOS machen Sie:

Sudo yum install php-mysqli
14
Zoran

Unter Ubuntu musste ich die PHP-MySQL-Erweiterung installieren.

apt-get install php5-mysql

8
Rehmat

Mach es einfach

Sudo apt-get install php-mysqli

Es funktioniert perfekt und ist versionsunabhängig

Dies geschieht, wenn PHP-Erweiterungen nicht standardmäßig verwendet werden. Ändern Sie in Ihrer php.ini-Datei
;extension=php_mysql.dll 
zu 
extension=php_mysql.dll

** Wenn dieser Fehler protokolliert, fügen Sie der DLL-Datei den Pfad hinzu, z
extension=C:\Php\php-???-nts-Win32-VC11-x86\ext\php_mysql.dll

Machen Sie dasselbe für php_mysqli.dll und php_pdo_mysql.dll. Speichern Sie und führen Sie Ihren Code erneut aus.

5
RemyG

Spät zum Gespräch ...

Wenn Sie das Modul installiert und Ihre PHP.INI-Datei ordnungsgemäß eingerichtet haben, überprüfen Sie Ihr Apache-Fehlerprotokoll auf Folgendes:

PHP Warnung: PHP Startup: Die dynamische Bibliothek 'C:\php\ext\php_mysqli.dll' kann nicht geladen werden. - Das angegebene Modul wurde nicht gefunden.

In diesem Fall entspricht Ihr Erweiterungsverzeichnis nicht dem, was Sie glauben. Sie müssen es explizit so einstellen, wie es ist: 

extension_dir="C:\xampp\php\ext"
2
Jahmic

Meins war ein bisschen anders für PHP7 auf Centos7.

In /etc/php.ini

; extension = mysqli

zu

extension = mysqli

1
doapydave

Wenn Sie den Server selbst hosten und dieser Server Apache ist, können Sie diese Fehlermeldung auch erhalten, wenn Sie extension=php_mysqli.dll in der php.ini unkommentiert haben.

Sie müssen Apache außerdem mitteilen, wo die php.ini zu finden ist, indem Sie die PHPIniDir-Direktive in der httpd.conf von Apache verwenden

AddHandler application/x-httpd-php .php
PHPIniDir "<path-to-folder-where-php-ini-lives>"
1
AaronDanielson

Mysqli ist nicht auf dem neuen Server installiert. Führen Sie zur Bestätigung phpinfo () aus.

<?php 

phpinfo();
0
Goldbug

Es gibt keinen Fehler in der Datei, aber die Erweiterung mysqli PHP ist nicht auf Ihrem Computer installiert. Bitte wenden Sie sich an Ihren Dienstanbieter, um dieses Problem zu beheben.

0
Utkarsh Dixit

Auf Raspberry Pi musste ich die MySQL-Erweiterung von php5 installieren.

apt-get install php5-mysql

Nach der Installation des Clients sollte der Webserver neu gestartet werden. Falls Sie Apache verwenden, sollte Folgendes funktionieren:

Sudo service Apache2 restart
0
Mohamad Osama

wenn Sie ubuntu 16.04 (möglicherweise und darüber) verwenden, ist dieses Modul bereits vorhanden, jedoch nicht standardmäßig aktiviert. Mach einfach das:

Sudo phpenmod mysqli
0
Yu Jiaao