Fehlersuche
Geh von dem aus, was du tatsächlich siehst. Jeder Eintrag unten ist ein Symptom.
Finde dein Symptom
| Was du siehst | Wohin |
|---|---|
domain is not registered to this account and is not a subdomain of a zone you own | Ein Hostname wird abgelehnt |
domain already attached to another hosting site | Ein Hostname wird abgelehnt |
site name already in use | Ein Hostname wird abgelehnt |
| Die Website lädt nicht, oder der Browser warnt vor dem Zertifikat | Nichts antwortet |
www zeigt nichts oder die falsche Website | www funktioniert nicht |
redirect source domain is already used elsewhere | www funktioniert nicht |
| Eine Einstellung wurde gespeichert, aber nichts hat sich geändert | Eine Änderung wirkt nicht |
| Eine hochgeladene Datei zeigt weiter den alten Inhalt | Eine Änderung wirkt nicht |
Rewrites, Weiterleitungen oder Header aus .htaccess werden ignoriert | .htaccess wird ignoriert |
| Ein Upload scheitert, oder scheitert still | Ein großer Upload scheitert |
| Die Website wird unter Last unerreichbar | Der Website geht der Speicher aus |
| SFTP läuft in einen Timeout, oder eine Übertragung bricht ab | Probleme mit SFTP |
a command is already running for this site | Ein Befehl läuft nicht |
invalid working directory | Ein Befehl läuft nicht |
mysql: not found | Ein Befehl läuft nicht |
Ungültiger Zeitplan, oder der Job läuft nie | Ein Cron-Job läuft nie |
Maximal 5 Cron-Jobs pro Website. | Ein Cron-Job läuft nie |
Max. 1 Backup pro Stunde, 3 pro Tag. | Ein Backup startet nicht |
| Die Speicheranzeige passt nicht zur Realität | Die Speicheranzeige stimmt nicht |
Ein Hostname wird abgelehnt
domain is not registered to this account and is not a subdomain of a zone you own: shop.example.netDer Hostname ist keiner, den wir anhängen können. Eine Website darf nur eine Domain ausliefern, die in deinem Konto liegt, oder eine Subdomain einer Zone, die deinem Konto gehört. Nimm die Domain zuerst auf.
Ist der Name doch eine Subdomain einer deiner Zonen, benutzt du das falsche Feld. Subdomains gehören unter Zusätzliche Hostnamen, nicht in die Liste der Primärdomains, und die Meldung sagt das:
... shop.example.com is a subdomain — add it as an additional hostname insteaddomain already attached to another hosting siteDie Domain bedient eine andere Website in deinem Konto. Entfern sie dort zuerst.
site name already in useWebsite-Namen sind über alle Kunden hinweg eindeutig, nicht nur in deinem Konto. Nimm einen anderen; der Name ist intern und für Besucher nie sichtbar.
Nichts antwortet, oder das Zertifikat stimmt nicht
Prüf zuerst, wohin der Name auflöst:
dig +short A beispiel.de
dig +short AAAA beispiel.deBeide müssen 91.98.6.3 und 2a01:4f8:1c1f:7bfa::1 zurückgeben. Nichts richtet deine Domain automatisch hierher aus, bei einer neuen Website ist die übliche Antwort also, dass die Records nie gesetzt wurden. Siehe Domains, DNS und HTTPS.
Stimmt nur der A-Record, bekommen Besucher über IPv6 nichts, während du über IPv4 eine funktionierende Website siehst. Setz beide Records.
Eine Zertifikatswarnung direkt nachdem die Records stimmen, ist normal. Das Zertifikat wird ausgestellt, indem der Hostname per HTTP geprüft wird, es kann also nicht existieren, bevor der Name hierher auflöst. Rechne mit bis zu einer Stunde nach der Verbreitung.
Löst der Name korrekt auf und du bekommst eine Platzhalterseite mit dem Text Your site is ready, funktioniert alles und das Document Root ist leer. Lad deine Dateien hoch.
www funktioniert nicht
www.beispiel.de ist ein eigener Hostname. beispiel.de hinzuzufügen bewirkt dafür nichts, weder im DNS noch an der Website.
- Gib
www.beispiel.deeigeneA- undAAAA-Records auf dieselben zwei Adressen. - Trag ihn dann entweder unter Zusätzliche Hostnamen ein, damit dieselben Dateien ausgeliefert werden, oder leg eine Weiterleitung auf die nackte Domain an.
redirect source domain is already used elsewhere: www.example.com is also a primary domain on this siteDu hast beides gemacht. Ein Hostname liefert entweder die Website aus oder leitet weiter, nie beides. Nimm ihn aus der Hostnamen-Liste oder lösch die Weiterleitung.
Eine Änderung wirkt nicht
PHP-Einstellungen. Nach dem ersten Speichern der Karte werden spätere Änderungen zwar gespeichert, erreichen PHP aber erst nach einem Neustart. Nutz Website neu starten unter Aktionen und prüf danach in der Konsole:
php -i | grep memory_limitEine hochgeladene Datei. Kompiliertes PHP wird zwischengespeichert und einmal pro Minute geprüft, eine Änderung kann also bis zu 60 Sekunden brauchen. Dauert es länger, hast du ins falsche Verzeichnis hochgeladen: ausgeliefert wird nur public_html, und wenn die Website einen Document-Root-Unterordner gesetzt hat, nur dieser Unterordner davon.
Runtime oder Webserver. Die wirken sofort, über ein paar Sekunden Austausch. Hat sich die PHP-Version nicht geändert, prüf, ob du auf der Karte auch Speichern gedrückt hast und nicht nur im Auswahlfeld etwas ausgewählt.
.htaccess wird ignoriert
nginx liest .htaccess nicht. Nichts wirft einen Fehler, nichts wird geloggt, die Datei wird schlicht nicht herangezogen. Das ist die häufigste Überraschung beim Umzug einer Website von einem anderen Anbieter.
Stell den Webserver im Tab Einstellungen auf Apache, wenn die Anwendung das wirklich braucht. Geht es dir nur um schöne URLs, schickt nginx unbekannte Pfade bereits an index.php, und dafür ist nichts zu konfigurieren.
Denk daran, dass unter Apache auch der Schutz für Punkt-Dateien wegfällt: sperr .env, .git/ und Ähnliches selbst in der .htaccess, die du nun benutzt.
Ein großer Upload scheitert
Drei verschiedene Grenzen, drei verschiedene Symptome.
- Die Anfrage wird abgelehnt, bevor PHP sie sieht, mit einem
413. Erhöh Max. Upload-Größe auf der Einstellungskarte; das Limit vor der Website zieht automatisch nach. Die Obergrenze liegt bei 512 MiB. - Der Upload verschwindet ohne Fehler.
Max. POST-Größeist kleiner alsMax. Upload-Größe. PHP verwirft die Datei und meldet nichts. Setz die POST-Größe mindestens so hoch wie die Upload-Größe. - Der Upload läuft und läuft dann in einen Timeout. Unter nginx wird eine Anfrage nach 300 Sekunden abgeschnitten, egal was
Max. Ausführungszeitsagt. Ein großes Archiv über den Browser zu importieren funktioniert also nicht. Lad es per SFTP hoch und entpack es aus der Konsole.
Bei einer Static-Website liegt die Grenze fest bei 8 MiB und lässt sich nicht anheben.
Der Website geht der Speicher aus
Symptome: die Website ist bei wenig Verkehr in Ordnung und wird unter Last unerreichbar, oder Anfragen, die eben noch liefen, scheitern gemeinsam.
Speicherlimit gilt pro Anfrage, aber die ganze Website teilt sich 512 MiB auf bis zu 15 parallele PHP-Anfragen. 512M macht also keine Anfrage größer, sondern nimmt PHP die eigene Bremse und lässt wenige Anfragen die Website leerräumen. Stell es auf 256M oder niedriger zurück und such die Anfrage, die wirklich mehr braucht.
Probleme mit SFTP
Prüf zuerst den Port. Er ist 2222, nicht 22. Port 22 antwortet auf diesem Host mit einem anderen Dienst. Bleibt der Standard stehen, bekommst du also eine Hostkey-Warnung oder eine abgelehnte Anmeldung, aber nie einen Hinweis auf den Port. Wird dein Passwort abgelehnt, prüf den Port, bevor du das Passwort prüfst.
Das Passwort wird abgelehnt. Das Passwort wird einmal angezeigt, beim Setzen. Hast du es nicht gesichert, hol dir mit Passwort zurücksetzen ein neues. Public-Key-Authentifizierung gibt es nicht, ein Client, der nur einen Key anbietet, kommt also nie hinein.
Eine Übertragung bricht mittendrin ab. Der SFTP-Endpunkt startet kurz neu, sobald sich irgendwo Zugangsdaten ändern, und trennt dabei offene Verbindungen. Nimm einen Client, der fortsetzt, und prüf, ob die Übertragung fertig wurde, statt es anzunehmen.
ssh bringt dir nichts. Der Zugang hat absichtlich keine Shell. Nimm für Befehle die Konsole.
Ein Befehl läuft nicht
a command is already running for this siteEin Befehl pro Website gleichzeitig. Warte ab oder drück Stoppen.
invalid working directory: working_dir must be /app/public_html or a subdirectoryDas Arbeitsverzeichnis muss /app/public_html sein oder etwas darunter. Dieser Pfad ist dieselbe Stelle wie public_html über SFTP.
mysql: not foundDie MariaDB-Kommandozeilen-Clients sind nicht installiert. Alles, was sie aufruft, scheitert, auch wp db export und wp db import. Nimm für Dumps ein Backup und für Abfragen die Werkzeuge deines Frameworks.
Ein Befehl wird nach 10 Minuten beendet. Arbeit, die länger dauert, gehört in einen Cron-Job, der bis zu 3600 Sekunden laufen darf.
Ein Cron-Job läuft nie
Ungültiger ZeitplanFünf Felder, Minute Stunde Tag-im-Monat Monat Wochentag. Ausdrücke mit sechs Feldern samt Sekunden werden abgelehnt, ebenso @daily, @hourly und der Rest.
Er läuft, aber zur falschen Zeit. Zeitpläne sind UTC. 0 3 * * * startet um 03:00 UTC, also je nach Jahreszeit um 04:00 oder 05:00 in Deutschland. Die PHP-Zeitzone der Website ändert daran nichts.
Er lief einmal und nie wieder. Ein fehlgeschlagener Lauf wird nicht wiederholt, und mit der Standard-Überlappungsregel wird ein Lauf, der startet, während der vorige noch läuft, übersprungen statt eingereiht. Schau unter Läufe nach und gib einem langen Job lieber ein höheres Zeitlimit, statt ihn mit sich selbst kollidieren zu lassen.
Die Ausgabe ist weg. Die Laufhistorie umfasst 3 erfolgreiche und 3 fehlgeschlagene Läufe und bleibt 24 Stunden. Schreib in eine Datei, was du behalten willst.
Maximal 5 Cron-Jobs pro Website.
Maximal 30 Cron-Jobs pro Konto erreicht.Fass Schritte zu einem Befehl zusammen oder entferne einen Job, den du nicht mehr brauchst.
Ein Backup startet nicht
Max. 1 Backup pro Stunde, 3 pro Tag.Beide Grenzen gelten pro Website. Warte das Fenster ab.
maximum backups reachedEs existieren bereits fünf aktive Backups. Das älteste läuft 72 Stunden nach seiner Erstellung ab; lösch oder lad eines herunter, wenn du nicht warten kannst.
Ein Backup ist fertig, aber ein Teil fehlt. Dateien und Datenbanken entstehen unabhängig, und ein Backup gilt auch dann als fertig, wenn ein Teil fehlgeschlagen ist. Prüf beide Größen in der Zeile und erstell ein neues.
Eine Wiederherstellung hat die Dateien nicht zurückgebracht. Sie umfasst nur die Datenbank. Lad das Dateiarchiv herunter und entpack es per SFTP.
Die Speicheranzeige stimmt nicht
Der Verbrauch wird einmal pro Stunde gemessen, nicht laufend. Nach dem Löschen größerer Datenmengen bleibt die Zahl bis zur nächsten Messung stehen. Lösch nicht noch mehr in der Annahme, die erste Löschung sei fehlgeschlagen.
Über die Paketgröße hinauszugehen blockiert nichts. Schreibzugriffe funktionieren weiter, und der Überhang wird abgerechnet, siehe Webhosting.
Weiter
- Domains, DNS und HTTPS, wenn die Website schlicht nicht erreichbar ist
- Runtime und PHP-Einstellungen dazu, was jede Grenze bewirkt