Ich habe einige Probleme mit dem folgenden Fehler:
"In Ihrer PHP -Installation fehlt anscheinend die für WordPress erforderliche MySQL-Erweiterung."
Ich habe jetzt ungefähr eine Woche lang gesucht, aber ich kann es nicht herausfinden.
Ich verwende mein NAS mit einer Telnet-Verbindung. Ich habe FFP 0.7 installiert
Meine php.ini befindet sich in: ffp/etc/php.ini und ich habe alles, was ich für nützlich gehalten habe, auskommentiert.
;If you wish to have an extension loaded automatically, use the following
; syntax:
;
; extension=modulename.extension
;
; For example, on Windows:
;
extension=msql.dll
;
; ... or under UNIX:
;
extension=msql.so
;
; ... or with a path:
;
extension=/ffp/lib/extensions/no-debug-non-zts-20100525/mysql.so
;
extension=php_mysql.dll
extension=php_mysqli.dll
extension=php_pdo_mssql.dll
extension=php_pdo_mysql.dll
extension=php_pdo_oci.dll
extension=php_pdo_odbc.dll
extension=php_pdo_pgsql.dll
extension=php_pdo_sqlite.dll
extension=php_pgsql.dll
extension=pdo.so
extension=pdo_sqlite.so
extension=sqlite.so
extension=pdo_mysql.so
Das, was jedoch auffällt, ist, dass ich in php info das Modul MYSQLI aktiviert sehe, aber nicht MYSQL.
MySQL funktioniert, PHP funktioniert, LightTPD funktioniert. (Ich habe Phpmyadmin arbeiten).
Es ist auf einem Zyxel NSA310.
Kennt ihr eine Lösung?
Und ich könnte mich in eine andere Frage schleichen:
Wenn Mysqld gestartet wird, erstellt es eine Verknüpfung von meinem Stammverzeichnis zu: ffp/opt/mysql. Jedes Mal, wenn ich mein NAS neu starte, wird die Verknüpfung gelöscht. Kennt jemand vielleicht einen Trick dafür?
Vielen Dank
Es ist am: http://www.volunteeringnews.com/
Die PHP-Mysql-API ist veraltet. Es ist kaput - weggehen - nicht benutzt werden, finito.
Wenn Sie eine moderne Version von PHP (> 5.6) haben, sollte Wordpress automatisch zur Verwendung von mysqli wechseln. Das sollte dein erster Versuch sein.
Wenn Sie Ihr PHP nicht aktualisieren können, anstatt zu versuchen, etwas wiederzubeleben, das von PHP nicht mehr unterstützt wird, patchen Sie einfach Ihre WordPress-Datei: http://wordpress.org/plugins/mysqli/
am ende fand ich eine lösung Stellen Sie zunächst sicher, dass der MySQL-Server läuft. Geben Sie an einer Shell-Eingabeaufforderung den folgenden Befehl ein: # /etc/init.d/mysql status
Wenn MySQL nicht ausgeführt wird, geben Sie Folgendes ein: # /etc/init.d/mysql start
Wenn MySQL nicht installiert ist, geben Sie den folgenden Befehl ein, um den MySQL-Server zu installieren: # apt-get install mysql-server
Stellen Sie sicher, dass das MySQL-Modul für PHP5 installiert ist: # dpkg - list | grep php5-mysql
Um das php5-mysql-Modul zu installieren, geben Sie Folgendes ein: # apt-get install php5-mysql
Starten Sie anschließend den Apache2-Webserver neu: # /etc/init.d/Apache2 Neustart
Diese MySQL-Bibliothek hat für mich funktioniert:
Sudo apt-get install php5-mysqlnd-ms
Überprüf den
extension_dir =
entferne es, wenn es da ist. das sollte das Problem beheben.
Wenn Sie gemeinsam genutztes Linux-Hosting mit cPanel (Godaddy, Reseller Club, Hostgator oder einem anderen gemeinsam genutzten Hosting) verwenden, versuchen Sie Folgendes:
Auf der Registerkarte Software und Dienste -> Wählen Sie PHP Version -> PHP Selektoren | Erweiterungen
Kreuzen Sie alle MySQL-relevanten Erweiterungen an, speichern Sie sie und Sie sind fertig. Bitte überprüfen Sie das angehängte Bild.
Dieser Fehler wird von der WP -Kerndatei /wp-includes/load.php erstellt und der Funktionsname ist wp_check_php_mysql_versions()
.
Die älteren Versionen von WP unterstützen MySqli nicht. Die neuesten Versionen von WP unterstützen jedoch sowohl die MySql- als auch die MySqli-Erweiterung , ohne die installierten Versionen von PHP zu stören.
In meinem Fall habe ich einfach die Wordpress-Kerndateien manuell aktualisiert und das Problem gelöst :)
Wenn Sie das Wordfence-Plugin installiert haben, habe ich festgestellt, dass das Auskommentieren der suPHP_ConfigPath-Zeilen in der .htaccess-Datei die Website wieder zum Leben erweckt:
# Wordfence WAF
#<IfModule mod_suphp.c>
# suPHP_ConfigPath '/home/a1614947/public_html'
#</IfModule>
Ich habe das auch Wordfence gemeldet.
Ich benutze Fedora 25
Sudo dnf search php | grep mysql
php-mysqlnd.x86_64 : A module for PHP applications that use MySQL databases
php-pear-MDB2-Driver-mysqli.noarch : MySQL Improved MDB2 driver mysqli
Sudo dnf install php-mysqlnd.x86_64
Wenn Sie Ihre PHP-Version verbessern, stellen Sie sicher, dass Apache2 folgt . Sie können eine phpinfo () -Datei erstellen, die zeigen könnte, dass Apache noch die alte PHP-Version verwendet.
In diesem Fall sollten Sie die Befehle a2dismod php-old-version und a2enmon php-mod-version verwenden
Beispiel:
in Ubuntu greifen Sie auf die alte Version von/etc/Apache2/mods-enabled oder auf die Version zurück, die in der phpinfo-Datei angezeigt wird, und die neue Version von/etc/Apache2/mods-available
> Sudo a2dismod php5.6
> Sudo a2enmod php7.1
> Sudo service Apache2 restart
Vielleicht ist es der Grund. Die PHP-MySQL-API ist veraltet. Wenn Sie <PHP5.5 verwenden, aktualisieren Sie einfach in Ihrem Server auf 5.6 und höher.
In meinem Fall hat die Verwendung von CPanel PHP Selector und die Auswahl von mysqli und mysqlnd funktioniert. Stellen Sie sicher, dass Sie einmal speichern und erneut prüfen
Ich hatte das gleiche Problem wie bei "Ihre PHP -Installation scheint die MySQL-Erweiterung zu fehlen, die für WordPress erforderlich ist" im Resellerclub-Hosting.
Ich ging diesen Thread durch und erfuhr, dass die PHP-Version größer als> 5.6 sein sollte, sodass WordPress automatisch in Mysqli konvertiert wird
Dann loggte sich mein cpanel in phpan in cpanel ein, um nach der Version zu suchen. Glücklicherweise konnte ich feststellen, dass meine Version von php 5.2 war, und diese auf 5.6 geändert, indem sichergestellt wurde, dass mysqli im Optionsfenster markiert ist jetzt.
Einfach install apt-get installieren php5-mysqlnd ApacheDienst neu starten Apache2 restart
Als ich meine Website PHP von Version 5.6 auf 7.2 aktualisiert habe, ist das Problem aufgetreten, dass bei der Installation von PHP anscheinend die für WordPress erforderliche MySQL-Erweiterung fehlt. Es stellt sich heraus, dass die mysql-Erweiterung in PHP Version 7.2 nicht mehr unterstützt wird. Es verwendet jetzt die mysqli-Erweiterung. Ich verwende eine alte Version von WordPress, die immer noch die Erweiterung mysql verwendet, weshalb das Problem bestand. Also, was ich getan habe, ist das WordPress auf den Kern aktualisiert. Dies löst das Problem.
Hier sind die Schritte, die ich beim manuellen Aktualisieren von WordPress ausgeführt habe.
Dieses Problem war auf fehlende Datenbank zurückzuführen. Wenn es sich um eine Neuinstallation handelt, müssen Sie manuell eine erstellen und dem Benutzer Berechtigungen zuweisen.
Überprüfen Sie in der wp-config.php nach fehlerhaften Konfigurationen und stellen Sie sicher, dass Datenbank und Tabellen nicht fehlen oder beschädigt sind.
2019-08-28
Nach fast sieben Jahren gibt es immer wieder andere Antworten. † Viele sind ähnlich - aber keine identisch - mit dem, was bei mir funktioniert hat. Folgendes hat bei mir funktioniert (Ubuntu-Server).
Verschieben einer Site auf einen neuen Server, vergessen, das PHP MySQL-Modul/Erweiterung. Ich habe eine kurze
apt-get install php-mysql
und dann
apachectl restart
Bada Bing. Kein php5, php7; ohne alles php-mysql
.
† Aufdecken eines der wenigen Nachteile von StackExchange: Eine Antwort ist momentan möglicherweise exquisit und erhält eine Million positive Stimmen. Leider funktioniert diese perfekte Antwort manchmal einfach nicht mehr, wenn die Technologie, die hinter der Antwort steckt (Projekte setzen sich ab und ändern den Fokus, Plugins verkümmern, Ziele verschieben sich). Aber es hat alle positiven Stimmen, also ist es das, was wir zuerst sehen. Ich bin mir nicht sicher, was die Lösung ist - wenn wir überhaupt eine brauchen; Es ist nicht unglaublich häufig ein Problem.
Ich habe gerade benutzerdefinierte PHP-Ini entfernt, die ich überhaupt nicht benutze. Das Problem ist behoben, die Website funktioniert einwandfrei.
Ich habe das Problem durch Hinzufügen des folgenden Codes in der .htaccess-Datei behoben. Ich hoffe, dass das auch für euch funktioniert.
Schritt 1: Ändern Sie die PHP Version vom Server.
Schritt 2: Fügen Sie den folgenden Code entsprechend Ihrer PHP Version (vom Server ausgewählt)) in Ihre .htaccess-Datei ein.
m zu PHP 4.4: zu wechseln
AddHandler application/x-httpd-php4 .php
m zu PHP 5.0: zu wechseln
AddHandler application/x-httpd-php5 .php
m zu PHP 5.1: zu wechseln
AddHandler application/x-httpd-php51 .php
m zu PHP 5.2: zu wechseln
AddHandler application/x-httpd-php52 .php
m zu PHP 5.3: zu wechseln
AddHandler application/x-httpd-php53 .php
m zu PHP 5.4: zu wechseln
AddHandler application/x-httpd-php54 .php
m zu PHP 5.5: zu wechseln
AddHandler application/x-httpd-php55 .php
m zu PHP 5.6: zu wechseln
AddHandler application/x-httpd-php56 .php
m zu PHP 7: zu wechseln
AddHandler application/x-httpd-php7 .php
m zu PHP 7.1: zu wechseln
AddHandler application/x-httpd-php71 .php
Für mich (Ubuntu 16.04) war der Gewinner:
Sudo apt install php7.0-mysql
Auf Oracle Linux 7.x mit PHP Version 7.3.x) müssen Sie Sudo yum install php-mysqlnd
Ausführen, um die fehlende MySQL-Erweiterung für PHP zu installieren.
Denken Sie daran, PHP und/oder Ihren Server neu zu starten, damit die Änderungen wirksam werden.
Für php 5.6 Sudo apt-get install php5.6-mysqlnd-ms
und starten Sie Ihren Apache neu
/etc/init.d/Apache2 restart
Die Quelle dieser Nachricht hatte in meinem Fall nichts mit der Lösung zu tun.
Meine IP-Adresse meines Servers hat sich geändert und ich änderte die <VirtualHost>
-Direktive in meiner httpd.conf des Apache-Servers nicht.
Nachdem ich sie auf die richtige IP-Adresse geändert hatte, verschwand die Nachricht und Wordpress funktioniert wieder.