WordPress. Probleme & Lösungen
- FAQ zu bekannten Problemen in WP. von Design4u.
- Ein Backup vor jeder Änderung
- 1. Ein Upgrade-Problem. Weiße Seite in wp-admin/upgrade.php?_wp_http_referer=%2Fwp-admin%2F
- 2. Kein Upload möglich. Die hochgeladene Datei konnte nicht nach wp-content/uploads verschoben werden
- 3. Fatal error: Allowed memory size of 33554432 bytes exhausted
- 4. Warning: Cannot modify header information – headers already sent by (output started at)
- 5. Neuen WordPress Nutzer über MySQL Datenbank anlegen / WordPress Passwort in der Datenbank ändern
- 6. WordPress Plugins ohne Dashboard (manuell) per FTP oder über Datenbank deaktivieren
- 7. WordPress wegen geplanter Wartungsarbeiten kurzzeitig nicht verfügbar
- 8. WordPress weiße Seite. White Screen of Death
- 9. Fehler Cookies sind wegen einer unerwarteten Ausgabe gesperrt
- 10. Aus Sicherheitsgründen ist dieser Dateityp nicht erlaubt. Kein Upload von bestimmten Dateitypen möglich
- 11. Nur kryptische Zeichen auf WordPress-Seiten
- 12. Warning: mysqli_num_fields() expects parameter 1 to be mysqli_result
- 13. WordPress Sitemap Fehler. XML-Verarbeitungsfehler: XML- oder Text-Deklaration nicht am Beginn der Entität
- 14. The server is temporarily unable to service your request due to maintenance downtime or capacity problems. Please try again later.
Ein Backup vor jeder Änderung
Die von uns angebotenen Lösungen verstehen sich als grobe Anhaltspunkte und haben keinen Anspruch auf Ausschließlichkeit. Wir übernehmen ausdrücklich keine Haftung für etwaige Schäden. Wir empfehlen grundsätzlich vor den Änderungen immer ein Backup von den Dateien und der Datenbank durchzuführen!
1. Ein Upgrade-Problem. Weiße Seite in wp-admin/upgrade.php?_wp_http_referer=%2Fwp-admin%2F
Mit dem FTP-Client Ihrer Wahl, beispielsweise FileZilla oder FlashFXP, die Datei version.php im Verzeichnis /wp-includes/ finden und öffnen. Dort den Wert $wp_db_version finden und sich merken oder notieren.
In der Datenbank -> wp_options -> db_version den Wert bearbeiten und mit dem Wert aus der PHP-Datei überschreiben.
2. Kein Upload möglich. Die hochgeladene Datei konnte nicht nach wp-content/uploads verschoben werden
- Das Verzeichnis „/wp-content/uploads“ und/oder seine Unterverzeichnisse besitzen keine richtigen Schreibrechte
- Der zur Verfügung stehende Speicherplatz auf dem Hosting ist voll (relativ selten)
- Umlaute oder Sonderzeichen im Dateinamen vorhanden (unwahrscheinlich)
- „Safe Mode“ ist auf dem Server aktiv (unwahrscheinlich)
- Die Verzeichnisse müssen „755“ Rechte haben
- Die Verzeichnisse müssen dem FTP Benutzer gehören
- Wenn das nicht hilft ggf. nicht kontrolliert werden kann, sollten die Verzeichnisrechte von „/wp-content/uploads“ und. ggf. Unterverzeichnissen auf „777“ gesetzt werden. Dazu klickt man meistens im FTP-Programm Ihrer Wahl mit der rechten Maustaste auf den Ordner „/wp-content/uploads“ und wählt etwas wie „Attribute“, „CHMOD“ oder „Berechtigungen“ und ändert man die Zahl auf „777“. Dieser Schritt hilft auch gegen „Safe Mode“ auf dem Server.
- Wenn das nicht hilft, sollte man ggf. zusammen mit dem Hoster kontrollieren, ob die Disk Quota erreicht ist (Speicherplatz voll ist)
- PS. Eine Datei sollte sowieso keine Umlaute und/oder Sonderzeichen beinhalten – das ist nicht praktikabel. Also meiden Sie sie bzw. ersetzen durch „ae“, „oe“, „ue“ und „ss“
3. Fatal error: Allowed memory size of 33554432 bytes exhausted
Der Fehler kann dann, nach dem Versuch eine Datei hochzuladen, auftreten, aber meistens nach einem WordPress Update. Dabei kann es auch vorkommen, dass sich das Frontend problemlos öffnen lässt, das Backend jedoch nicht.
In diese Datei fügen Sie folgenden Code ein:
<?php phpinfo(); ?>
Diese Datei lädt man im Root-Verzeichnis der Webpräsenz hoch und ruft man einfach im Browser auf, beispielsweise https://www.example.com/info.php
Dann suchen Sie mit der Tastenkombination „STRG+F“ auf dieser Website nach „memory_limit“. Das ist Ihr PHP memory limit.
Folgendermaßen lässt sich das das PHP-Speicherlimit erhöhen:
- 1. Eine gängige Lösung, die Ihnen wahrscheinlich nicht hilft, besteht darin, dass vor der Zeile, die den Fehler verursacht, folgender Code eingesetzt wird:
ini_set('memory_limit', '-1');
. Der Code bringt den Server dazu, den ganzen Speicher in dem Moment freizugeben. Das wird jedoch dazu führen, das der „Allowed memory size of“ – Fehler in einer anderen Datei erneut auftauchen wird. - 2. Im Root-Ordner Ihrer WordPress-Webpräsenz befindet sich eine Datei namens „.htaccess“. Diese öffnet man und fügt am Anfang folgenden Code ein:
php_value memory_limit 128M
- 3. Sollte das nicht helfen, findet man in der Datei wp-config.php im Root-Verzeichnis Ihres WordPress folgende Zeile:
/* That's all, stop editing! Happy blogging. */
.
Vor dieser Zeile fügen Sie folgendes ein:define('WP_MEMORY_LIMIT', '128M');
- 4. Im Ordner wp-admin erstellen Sie eine Datei namens php.ini. Fügen Sie in die Datei folgenden Code ein:
memory_limit = 64M
- 5. Wenn keine der Lösungen hilft, müssen Sie sich in Verbindung mit Ihrem Hoster setzen, um das PHP-Speicherlimit zu erhöhen.
4. Warning: Cannot modify header information – headers already sent by (output started at)
- Leerzeichen und/oder überflüssige Zeilen in der Datei wp-config.php oder functions.php
- Falsche Kodierung von wp-config.php: UTF-8 mit BOM (Byte Order Mark)
- Leerzeichen vor dem öffnenden <?php oder nach dem schließenden ?> in allen möglichen php-Dateien
- weitere html vor php Ausgabe Fehler
- 1. Sich am Anfang (vor <?php) und Ende sich nicht zufällig Leerzeichen befinden. Wenn ja, dann sie löschen
- 2. In der Datei wp-config.php sich ein schließendes php-Zeichen ?> befindet. Das sollte nicht sein. Ist dort eins vorhanden, sollte es und die Leerzeichen gelöscht werden.
- 3. Man sollte den Kodierungsfehler ausschließen, indem man wp-config.php und functions.php im Notepad++ öffnet und als UTF-8 ohne BOM kodiert
- 4. Hilft es nicht – sollte man möglicherweise versuchen, mehr Fehler anzuzeigen. Abhängig davon, wo genau der Fehler auftaucht, sollte man in wp-config.php oder evtl. header.php im Theme-Ordner sich alle Fehler anzeigen lassen und danach weiter suchen. Zum Anzeigen der PHP-Fehler wird folgender Code eingefügt:
error_reporting(E_ALL); ini_set("display_errors", 1);
Eine andere Möglichkeit besteht in der Änderung der Option WP_DEBUG in der Datei wp-config.php im Root-Verzeichnis Ihres WordPress wie oben beschrieben.
define( 'WP_DEBUG', false ); in define( 'WP_DEBUG', true );
5. Neuen WordPress Nutzer über MySQL Datenbank anlegen / WordPress Passwort in der Datenbank ändern
- Man hat das WordPress-Passwort vergessen
- Man arbeitet in der lokalen Test-Umgebung
- Man hat keinen Zugriff mehr auf die im System hinterlegte Email-Adresse
1. Wenn das der User ist, dann klicken Sie auf „bearbeiten“. Dann öffnen sich die dem User zugewiesenen Werte, darunter auch das „Passwort“ – user_pass. Was man wissen und verstehen muss – die Passwörter werden von WordPress verschlüsselt gespeichert. D.h., es reicht nicht, das Passwort aus dem Feld herauszukopieren und sich damit in WordPress einzuloggen. Entschlüsselt kann das Passwort auch nicht werden. Es muss in der verschlüsselten Form überschrieben werden. Das funktioniert jedoch ganz einfach.
Sie müssen in der Auswahl MD5 wählen, da WordPress MD5 crypt hash verwendet. Als Wert tragen Sie das Passwort unverschlüsselt ein. Danach tragen Sie das Passwort als Wert unverschlüsselt ein und bestätigen mit „OK“. Das ist alles – Sie können sich nun mit dem eingetragenen Passwort in Ihrem WordPress-Backend einloggen.
2. Sie können an der Stelle aber auch einen komplett neuen User in der Datenbank anlegen, wenn Sie den (die) bereits existierenden User unverändert lassen möchten. Folgendermaßen geht das:
In der selben Datenbank wp_users in der oberen Navigationsleiste auf „Einfügen“ (Insert) klicken
Hier müssen Sie Felder user_login, user_pass und user_email ausfüllen. Bei user_pass MD5 nicht vergessen.
Wie Sie sehen, ist der neue User angelegt worden, aber das ist noch nicht alles. An der Stelle merken wir uns die ID des gerade angelegten User (in unserem Fall 3)
Nun müssen wir den neu angelegten User mit den nötigen Zugriffsrechten ausstatten. Dazu öffnen wir die Tabelle wp_usermeta und klicken genau so wie eben auf „Einfügen“. umeta_id belassen wir an der Stelle leer. In user_id tragen wir die ID ein, die wir uns eben gemerkt haben (3). In meta_key wird wp_capabilities eingetragen. In das große Feld meta_value wird a:1:{s:13:“administrator“;s:1:“1″;} eingetragen.
Im nächsten Abschnitt wird bei user_id wieder die gemerkte ID eingetragen (3). In meta_key tragen wir wp_user_level ein und in meta_value fügen wir die 10 ein und bestätigen an der Stelle mit OK
Fertig! Der neue User ist angelegt worden, nun können Sie sich damit im WordPress-Backend einloggen und in Ihrem Userprofil fehlende Angaben eintragen.
6. WordPress Plugins ohne Dashboard (manuell) per FTP oder über Datenbank deaktivieren
Sowohl im Backend als auch im Frontend Ihres WordPress werden nur Fehlermeldungen ausgegeben oder komplett weiße Seiten angezeigt. Ganz häufig ist es der 503 Service Temporarily Unavailable Error. Eigentlich ist es kein Fehler im echten Sinne, sondern ein HTTP-Request – das macht aber die Situation nicht besser. Man möchte den Fehler schellstens beseitigen und das erste, was man in dieser Situation machen soll – die eben installierten WordPress Plugins deaktivieren. Das geht aber nicht immer über das Backend, zum Beispiel wenn man sich durch von Plugins verursachte Fehler gar nicht mehr im Backend einloggen kann.
- Neuinstallation von WordPress Plugins
- Aktualisierung von WordPress Plugins
- Kein Zugang zum Backend
- Kompatibilitätsprobleme
1. WordPress Plugins per FTP deaktivieren
Ja, man kann Plugins im WordPress auch per FTP deaktivieren. Alle auf einmal oder auch eins nach dem anderen, bis man das Problem entdeckt habe und die Website wieder wie gewünscht funktioniert. Man muss beachten, dass der „richtige“ Weg, ein Plugin zu deaktivieren – wenn’s noch geht – in der Benutzung von Plugin-Verwaltung im WordPress-Backend liegt. Dann sind auch die einzelnen Einstellungen von Plugins richtig deaktiviert worden.
Folgendermaßen funktioniert die Deaktivierung per FTP:
Mit dem FTP-Client Ihrer Wahl zum Ordner „wp-content/plugins“ navigieren und es öffnen. Den Ordner mit dem gesuchten Plugin finden. Den Ordner einfach umbenennen, indem man beispielsweise „xxx“ hinten an den Namen anhängt. Das Plugin ist somit deaktiviert. Wenn man im Backend die Plugin-Verwaltung aufruft und die Seite aktualisiert, erscheint eine Fehlermeldung von WordPress, dass es den Ordner mit dem Plugin nicht mehr gibt und dass das Plugin somit nicht mehr aktiv ist.
Möchte man mit einem Mausklick alle WordPress-Plugins deaktivieren, benennt man auf die selbe Art und Weise den Ordner wp-content/plugins selbst um, in beispielsweise „pluginsxxx“.
2. WordPress Plugins über Datenbank deaktivieren
Mit einer Webanwendung zur Datenbankverwaltung wie phpMyAdmin oder Adminer, die von WordPress verwendete Datenbank öffnen und in der Tabelle wp_options Zeile active_plugins finden. Zur Einfachheit können hierzu alle Zeile alphabetisch sortiert werden. Auf „Bearbeiten“ klicken. So sieht es dann aus:
So sieht es entsprechend im WordPress-Backend aus. Man sieht, dass 7 Plugins aktiv sind:
Wenn man jetzt den kompletten Inhalt von option_value löscht, werden alle aktive Plugins auf einmal deaktiviert.
Möchte man jedoch einzelne WordPress-Plugins über die Datenbank deaktivieren, dann muss man sich mit dem Aufbau von „option_value“ vertraut machen.
- a:7 steht für die Anzahl der aktiven Plugins
- mit einer geschweiften Klammer geht es los und dann:
- fängt ein Plugin-Eintrag immer mit i:Ziffer an und endet mit ;
- die erste Ziffer ist immer Null! i:0
- um ein Plugin zu löschen, müssen folglich sowohl die Gesamtanzahl von Plugins (a), als auch die durchgehende Nummerierung (i:Ziffer) angepasst werden
Möchten wir also in unserem Beispiel TinyMCE Advanced (i:3) deaktivieren, müssen wir den Inhalt folgendermaßen abändern:
- Die Gesamtzahl auf 6 reduzieren (a:6)
- Den Plugin-Eintrag, also alles von i:3 bis zum einschließlich nächsten Semikolon löschen
- Die Nummerierung anpassen. Aus a:4 wird dann a:3 usw.
- Anschließend auf OK klicken
7. WordPress wegen geplanter Wartungsarbeiten kurzzeitig nicht verfügbar
Manchmal bleibt geht er nicht weg und bleibt hängen. Dann sollte man ihn manuell abschalten.
- WordPress Update
- Plugin-Neuinstallation oder Plugin-Update
- WordPress Wartungsmodus
8. WordPress weiße Seite. White Screen of Death
- WordPress Upgrade
- WordPress Plugin-Update oder Neuinstallation
- WordPress Theme-Update oder Neuinstallation
- WordPress Umzug (auf den Live-Server)
define( 'WP_DEBUG', false );
in
define( 'WP_DEBUG', true );
und hofft, dass ein Fehler angezeigt wird, aus dem anhand der angezeigten Pfade verständlich wird, wer der Übeltäter ist. Ist das ein Plugin, oder hat man unmittelbar bevor der Fehler aufgetreten ist ein neues Plugin installiert, dann lohnt sich die manuelle Deaktivierung des Plugins.
Folgendermaßen funktioniert die Deaktivierung eines WordPress-Plugins per FTP:
Mit dem FTP-Client Ihrer Wahl zum Ordner „wp-content/plugins“ navigieren und es öffnen. Den Ordner mit dem gesuchten Plugin finden. Den Ordner einfach umbenennen, indem man beispielsweise „xxx“ hinten an den Namen anhängt. Das Plugin ist somit deaktiviert. Wenn man im Backend die Plugin-Verwaltung aufruft und die Seite aktualisiert, erscheint eine Fehlermeldung von WordPress, dass es den Ordner mit dem Plugin nicht mehr gibt und dass das Plugin somit nicht mehr aktiv ist.
Vermutet man einen Fehler im frisch installierten oder gerade aktualisierten WordPress-Theme, kann man ähnlich vorgehen um das aktuelle Theme zu deaktivieren.
Folgendermaßen funktioniert die Deaktivierung eines WordPress-Themes per FTP:
Mit dem FTP-Client Ihrer Wahl zum Ordner „wp-content/themes“ navigieren und es öffnen. Den Ordner mit dem gesuchten Theme finden. Den Ordner einfach umbenennen, indem man beispielsweise „xxx“ hinten an den Namen anhängt. Das Theme ist somit deaktiviert.
War ein Theme oder Plugin für das „weiße Seite“-Problem verantwortlich? Dann müsste man dort nach der Ursache suchen, ein anderes Plugin oder Theme verwenden. Allerdings gibt es andere Stellen, die das Problem ebenfalls verursacht haben konnten.
wp-config.php und functions.php
Unterziehen Sie folgende Bereiche einer Überprüfung. Bei den Dateien wp-config.php im Rootverzeichnis des WordPressbereiches der Website, sowie auch bei Theme Ordner beim aktiven Theme, dort die functions.php. Hier überprüfen Sie, ob sich folgende Fehler eingestellt haben:
- 1. Insbesondere am Anfang (vor <?php) und Ende schleichen sich gerne Leerzeichen ein. Ist das der Fall, sollten diese umgehend gelöscht werden
- 2. Probleme können auch dadurch entstehen, wenn in der Datei wp-config-php ein schließendes php-Zeichen ?> besteht. Wenn dem so sein sollte, muss es, sowie auch die Leerzeichen, gelöscht werden
- 3. Etwaige Kodierungsfehler entstehen häufig, können aber einfach ausgeschlossen werden. Hierzu wp-config.php und functions.php im Notepad++ öffnen, als UTF-8 ohne BOM kodieren
PS. Nachdem das Problem gelöst wurde, vergessen Sie nicht die Option WP_DEBUG wieder zu deaktivieren indem man sie in wp-config.php wieder auf false setzt!
9. Fehler Cookies sind wegen einer unerwarteten Ausgabe gesperrt
- Kodierungsfehler in der Datei wp-config.php
- Eine kürzlich bearbeitete wp-config.php
- Sehr selten: Probleme mit dem Cache
- Sehr selten: Probleme mit den WordPress-Plugins
- 1. Um so genannte Kodierungsfehler zu vermeiden, sollte man wp-config.php und functions.php im Notepad++ öffnen und als UTF-8 ohne BOM kodieren. Damit sei meistens das Problem aus der Welt geschaffen. Falls jedoch nicht, dann schauen Sie sich Punkte 2. und 3. an
- 2. Sich nicht Leerzeichen eingeschlichen haben, die übersehen wurden und sich am Anfang (vor <?php), aber auch dem Ende befinden können. Wenn dem so ist, dann löschen Sie sie
- 3. In der Datei wp-config.php ein schließendes php-Zeichen ?> vorhanden ist? Das darf nicht sein. Im Falle, dass dennoch eins vorhanden ist, sollte man es entfernen und auch die Leerzeichen löschen
10. Aus Sicherheitsgründen ist dieser Dateityp nicht erlaubt. Kein Upload von bestimmten Dateitypen möglich
/* That's all, stop editing! Happy blogging. */
folgenden Code ein: define ('ALLOW_UNFILTERED_UPLOADS', true);
Somit ist das Upload beliebiger Dateien über die WordPress Mediathek möglich.
11. Nur kryptische Zeichen auf WordPress-Seiten
PS. Das Problem trat in unserer Praxis mehrmals auf, bei der gleichzeitigen Benutzung vom Caching-Plugin W3 Total Cache Plugin und WordPress Update auf Version 4.7.2 auf
Zu der entsprechenden Einstellung gelangt man im WordPress-Backend über die linke Sidebar Performance->General Settings und dann scrollt man zum Browser Cache und deaktiviert das Kästchen. Danach funktioniert die Website wieder.
12. Warning: mysqli_num_fields() expects parameter 1 to be mysqli_result
define( 'WP_DEBUG', false );
in wp_config.php Zu der entsprechenden Einstellung gelangt man im WordPress-Backend über die linke Sidebar Performance->General Settings und dann scrollt man zum Database Cache und deaktiviert das Kästchen. Danach funktioniert die Website wieder.
13. WordPress Sitemap Fehler. XML-Verarbeitungsfehler: XML- oder Text-Deklaration nicht am Beginn der Entität
- Meistens ist es die falsche Kodierung von wp-config.php: UTF-8 und nicht UTF-8 mit BOM (Byte Order Mark)
- Leerzeichen vor dem öffnenden in allen möglichen php-Dateien
- 1. Sich am Anfang (vor <?php) und Ende sich nicht zufällig Leerzeichen befinden. Wenn ja, dann sie löschen
- 2. In der Datei wp-config.php sich ein schließendes php-Zeichen ?> befindet. Das sollte nicht sein. Ist dort eins vorhanden, sollte es und die Leerzeichen gelöscht werden.
- 3. Man sollte den Kodierungsfehler ausschließen, indem man wp-config.php und functions.php im Notepad++ öffnet und als UTF-8 ohne BOM kodiert
14. The server is temporarily unable to service your request due to maintenance downtime or capacity problems. Please try again later.
Anschrift:
Design4u Köln - Webdesign, WordPress und SEO Agentur in KölnAnschrift & Kontakt:
Amsterdamer Straße 23050735 Köln
- Telefon:
- 0221 97 53 416
- E-mail:
- webmaster@design4u.org