Startseite
» Gewusst wie
»
Wenn ownCloud-Uploads bei 99 % hängen bleiben, überprüfen Sie diese Grenzwerte.
Wenn ownCloud-Uploads bei 99 % hängen bleiben, überprüfen Sie diese Grenzwerte.
Wenn die ownCloud-Dateien-Seite 99 Prozent anzeigt, prüfen Sie zunächst, ob die vollständige Datei bereits im Zielordner vorhanden ist, bevor Sie es erneut versuchen. Falls sie fehlt oder unvollständig ist, bitten Sie den Administrator, das Benutzerkontingent, den freien Speicherplatz in den PHP-Temporärverzeichnissen und den ownCloud-Chunk-Verzeichnissen sowie die PHP- und Webserver-Anforderungslimits zu überprüfen. Eine 99-Prozent-Anzeige reicht nicht aus, um die Fehlerursache zu identifizieren.
Diese praktische Anleitung beschreibt Uploads über die Weboberfläche des ownCloud Servers (Classic) 10.16. Für Uploads mit unbegrenzter Skalierung und Desktop-Synchronisierung werden andere Serverpfade und Protokolle verwendet. Die Beispiele orientieren sich an der offiziellen Dokumentation zu Version 10.16; verwenden Sie die Einstellungen und Dateipfade für Ihre eigene Bereitstellung.
Schnelle Triage
Was Sie sehen
Zuerst prüfen
Die Datei wird nach dem Aktualisieren des Ordners als vollständig angezeigt.
Vergleichen Sie die Größe der Datei mit der lokalen Datei und öffnen Sie sie, bevor Sie sie erneut hochladen.
Nur große Dateien verzögern sich oder schlagen fehl.
Vergleichen Sie die Dateigröße mit den Beschränkungen von PHP, Webserver und Proxy; prüfen Sie den temporären Speicher.
Uploads schlagen für einen Benutzer oder einen Ordner fehl.
Prüfen Sie das Speicherkontingent des Benutzers, die Ordnerberechtigungen und ob es sich beim Ziel um einen externen Speicher handelt.
Uploads schlagen bei vielen Nutzern fehl.
Prüfen Sie den gemeinsam genutzten Speicherplatz, die PHP-/Webserver-Protokolle und etwaige Proxy- oder Hosting-Beschränkungen.
Beispielansicht Dateien: Die Upload-Zeile ist fast voll, aber die Prozentangabe allein zeigt nicht an, ob der Server die Datei übertragen hat.
1. Überprüfen Sie den Upload-Status, bevor Sie es erneut versuchen.
Öffnen Sie den Zielordner in einem zweiten Tab oder aktualisieren Sie ihn, sobald der Upload abgeschlossen ist. Falls die Datei vorhanden ist, vergleichen Sie ihre Größe mit der lokalen Originaldatei und öffnen Sie sie. Eine vollständige Datei mit einem veralteten Fortschrittsbalken deutet auf eine fehlende Bestätigung oder ein Anzeigeproblem im Browser hin; dies rechtfertigt nicht das Hochladen einer zweiten Kopie.
Falls die Datei fehlt oder kleiner ist, versuchen Sie es mit einer kleinen Testdatei im selben Ordner und anschließend mit der Originaldatei über einen anderen Browser oder ein anderes Netzwerk (falls verfügbar). Notieren Sie sich Dateigröße, Benutzer, Zielordner, ungefähre Zeit und ob der Test fehlgeschlagen ist. Diese Vergleiche helfen, ein Problem mit einer einzelnen Datei oder einem Client von einem serverweiten Problem zu unterscheiden. Vermeiden Sie es, einen großen Upload wiederholt abzubrechen und neu zu starten, während der Server ihn noch verarbeitet.
2. Kontingent, temporären Speicherplatz und Berechtigungen prüfen
Bitten Sie den ownCloud-Administrator, das Speicherkontingent des betroffenen Benutzers und die Schreibberechtigung des Zielordners zu überprüfen. Ein Kontingentlimit kann verhindern, dass eine neue Datei gespeichert wird, selbst wenn der Browser bereits den Großteil seiner Daten gesendet hat. Falls es sich beim Ziel um einen externen Server handelt, überprüfen Sie auch dessen verfügbaren Speicherplatz und Schreibzugriff.
Überprüfen Sie auf dem Server die freien Blöcke und Inodes im Datenverzeichnis und allen relevanten temporären Verzeichnissen. Ein Inode ist der Dateisystemeintrag, der zum Erstellen einer Datei verwendet wird; ein Volume kann freie Gigabytes, aber keine Inodes mehr enthalten. Verwenden Sie die tatsächlichen Pfade aus Ihrer PHP- und ownCloud-Konfiguration.
PHP-Dateien upload_tmp_dirmüssen vom PHP-/Webserver-Benutzerkonto beschreibbar sein. ownCloud verfügt außerdem über eine Einstellung für ein temporäres Verzeichnis. Chunk-Uploads werden standardmäßig im Upload-Verzeichnis des Benutzers zwischengespeichert. Während der Dateizusammenstellung benötigt ownCloud möglicherweise temporären Speicherplatz, der in etwa der endgültigen Dateigröße entspricht. dav.chunk_base_dirDieser Speicherort kann in den Einstellungen geändert werden. Überprüfen Sie alle diese Volumes, nicht nur die Hauptdatenfestplatte.
Prüfen Sie den freien Speicherplatz und die Inodes auf den Dateisystemen Daten, temporäre PHP-Dateien und Chunk-Upload-Datei.
3. Upload-Limits und Timeouts an die Datei anpassen
Wenn kleine Dateien funktionieren, eine größere Datei jedoch nicht, vergleichen Sie deren Größe mit den effektiven Web-PHP-Einstellungen: `< web-php-config.php>` upload_max_filesizeund ` <web-php-config.php>` post_max_size. PHP benötigt post_max_sizeeine Dateigröße, die größer als `< upload_max_filesizeweb-php-config.php>` ist. Überprüfen Sie die PHP-Konfiguration des Webservers oder von PHP-FPM; die PHP-Konfiguration für die Kommandozeile kann abweichen. Bei PHP-FPM-Installationen weist ownCloud darauf hin, dass die PHP-Einstellungen in der Datei `<web-php-config.php>` .user.inioder der FPM-Konfiguration und nicht nur in `<web-php-config.php>` liegen müssen .htaccess.
Prüfen Sie außerdem, max_input_timewann Uploads lange dauern und ob in den Protokollen ein PHP-Timeout angezeigt wird. Legen Sie Grenzwerte für Ihre erwartete Arbeitslast fest, anstatt einen Beispielwert zu übernehmen. Starten Sie PHP und den Webserver nach jeder Konfigurationsänderung neu. Weitere Informationen finden Sie in der ownCloud -Konfiguration für große Datei-Uploads und in der PHP- Referenz zur Upload-Direktive .
Vergleichen Sie die PHP-Upload-Limits und Timeouts mit der betroffenen Dateigröße und Upload-Dauer.
Überprüfen Sie anschließend jede HTTP-Schicht vor PHP. Nginx client_max_body_sizelehnt übergroße Anfragetexte mit HTTP 413 ab; setzen Sie diesen Wert entsprechend der Anfragegröße Ihres Upload-Pfads. Auch Apache LimitRequestBodykann mod_reqtimeoutUploads einschränken. ownCloud weist ausdrücklich darauf hin, dass Reverse-Proxys, Cloudflare, Hosting-I/O-Limits und die Timeout-Einstellungen von Apache große Uploads beeinträchtigen können. Ändern Sie nur die Schicht, die in den Protokollen als betroffen angezeigt wird, und vermeiden Sie es, Sicherheitsmodule als erste Lösung global zu deaktivieren. Weitere Informationen finden Sie in der offiziellen Nginx-Dokumentation zum Anfragetext .
4. Protokolle verwenden, um die fehlerhafte Schicht zu lokalisieren.
Reproduzieren Sie das Problem einmal und notieren Sie sich die Uhrzeit. Überprüfen Sie anschließend das ownCloud-Protokoll sowie das Fehlerprotokoll des Webservers oder Proxys für dieselbe Minute. Das ownCloud-Protokoll befindet sich üblicherweise im konfigurierten Datenverzeichnis; der tatsächliche Pfad kann in der Konfigurationsdatei überschrieben werden config.php. Suchen Sie nach Meldungen zu Kontingenten, Berechtigungen, temporären Dateien, Sperren, Anfragegröße oder Timeout. Falls die Anfrage nicht im ownCloud-Protokoll erscheint, untersuchen Sie zuerst den Proxy oder Webserver.
tail -n 100 /path/to/owncloud.log
Ersetzen Sie den Platzhalter durch den in Ihrer Installation konfigurierten Pfad. Der Befehl zeigt nur die letzten Protokollzeilen an; er ändert keine Serverdaten. Vermeiden Sie es, Rohprotokolle ohne Entfernen von Benutzernamen, Dateipfaden, IP-Adressen und Token öffentlich zu veröffentlichen. ownCloud erläutert die Speicherorte der Protokolle in seiner Debugging-Dokumentation .
Überprüfen Sie die ownCloud- und Webserver-Protokolle zum Zeitpunkt des fehlgeschlagenen Uploads; der Pfad hängt von der Serverkonfiguration ab.
Überprüfen Sie die Korrektur
Laden Sie eine kleine Datei hoch und versuchen Sie es dann einmal erneut mit der betroffenen Datei.
Prüfen Sie, ob die Zielkopie die erwartete Größe hat und sich korrekt öffnen lässt.
Prüfen Sie, ob beim Hochladen keine Quoten-, Speicher-, HTTP 413-, Berechtigungs- oder Timeout-Fehler auftreten.
Wenn das Problem weiterhin besteht, geben Sie dem Administrator die Dateigröße, das Ziel, den Zeitstempel und den entsprechenden Protokolleintrag, damit er die Ebene identifizieren kann, die die Anfrage gestoppt hat.
Erhöhen Sie nicht alle Grenzwerte oder deaktivieren Sie nicht gleichzeitig alle Anforderungsschutzmechanismen. Eine gezielte Änderung, gefolgt von einem kontrollierten Wiederholungsversuch, erleichtert die Ursachenermittlung und erhält die übrige Serverkonfiguration aufrecht.