wake-up-neo.net

PHP Start Die dynamische Bibliothek /usr/lib/php/20151012/php_mysqli.dll kann nicht geladen werden

Ich habe Ubuntu 14.04 EC2-Instanz. Ich habe PHP 7 darauf installiert. wenn ich einen PHP-Befehl wie PHP-Version oder einen anderen ausführen. Ich bekomme folgende Fehlermeldung

PHP Warning:  PHP Startup: Unable to load dynamic library '/usr/lib/php/20151012/php_mysqli.dll' - /usr/lib/php/20151012/php_mysqli.dll: cannot open shared object file: No such file or directory in Unknown on line 0

Ich habe folgendes versucht

  1. aktiviere php_mysqli.dll in php.ini
  2. aktivieren Sie mysqli.so
  3. aktiviere php_mysqli.so
  4. Sudo apt-get install php-mysql

aber nichts hat für mich funktioniert.

Irgendwelche Vorschläge, wie ich das lösen kann?

4
Jass

Wenn Sie mit Linux arbeiten, sollten Sie keine DLL -Dateien, sondern SO -Dateien haben. Zuerst müssen Sie die in der php.ini hinzugefügte php_mysqli.dll entfernen/deaktivieren.

Um mysqli verwenden zu können, sollten Sie: 

  • installieren Sie das Paket für Ubuntu: apt-get install php-mysql
  • prüfen, ob es bereits aktiviert ist (z. B. mit phpinfo())
  • wenn nicht aktiviert, aktivieren Sie das Modul - checken Sie den Ordner /etc/php/mods-available/ ein, wenn ein mysqli.ini mit extension=mysqli.so vorhanden ist, und suchen Sie nach CLI/FPM/Apache/other, ob der symbolische Link auf diese Datei verweist (beispielsweise für CLI in /etc/php/cli/conf.d/20-mysqli.ini -> ../../mods-available/mysqli.ini)
  • starten Sie PHP/Apache/Nginx neu, je nachdem, was Sie verwenden
10
Julqas

Ich bin kürzlich auf dieses Problem auf Ubuntu16.04 gestoßen, ich löse es schließlich durch Hinzufügen eines Semikolons an jeder Zeile wie extension=php_*.dll. Ich denke, das ist, weil LAMP auf Ubuntu intelligent genug ist. Unter Windows müssen wir die Erweiterungen manuell aktivieren, indem Sie das Semikolon in jeder Zeile wie ;extension=php_*.dll in php.ini entfernen. 

1
skiwer

In meinem Fall ist es passiert, weil ich die extension=php_mysqli.dll-Zeile in der php.ini-Datei für das Ausführen eines anderen Pakets unkommentiert habe. Nach dem googeln fand ich heraus, dass Sie nichts direkt von php.ini kommentieren sollten, stattdessen sollten Sie die erforderliche PHP-Erweiterung installieren und den Rest erledigen.

1

Führen Sie Phpinfo() aus. Suchen Sie nach Ihrem php.ini Pfad

suche extension=php_mysqli.so

kommentar wie folgt

;extension=php_mysqli.so
0
Babu Pandey

Ich hatte nur das gleiche Problem und stellte fest, dass es sich bei beiden Ordnern in meinem /etc/php/7.0, die Waren Apache2 und cli. Es stellte sich heraus, die Verlängerungslinie in cli/php.ini wurde mit der DLL-Datei nicht kommentiert, nicht mit der in Apache2 Verzeichnis. Das Kommentieren löste nur das Problem.

0
Sylordis

Wenn Sie mcrypt.so unter /etc/php/7.2 oder /etc/php/7.3 sehen, löschen Sie es einfach und starten Sie den Server neu, um das Problem zu beheben. Als wenn wir das PHP auf die neueste Version updaten, wird diese Datei möglicherweise auf die neueste Version gespeichert, was nicht erforderlich ist.

Ich habe folgende Befehle benutzt:

cd /etc/php/7.3

Sudo rm -rf mcrypt.so

Sudo-Dienst Apache2 neu starten

0
shivanikoko

Kommentieren Sie einfach alle Zeilen mit der Erweiterung .dll aus, da Sie sich auf Ubuntu befinden. Ubuntu unterstützt .so-Dateien. 

0