Fehlerbehebung
Fehler beim Installieren von Modulen in PrestaShop, The file is missing
Wenn Sie das ZIP eines Moduls im Administrator manuell hochladen, kann Folgendes erscheinen:
Installation of module failed. The file is missing.
PrestaShop zeigt diese Meldung, wenn es nach der Prüfung der Anfragegröße keine verwertbare Datei erhält. Beginnen Sie mit dem PHP-Upload-Code und dem Protokoll derselben Minute. Wenn der Entwickler den Controller vorübergehend instrumentiert, sollte er nur den Code von $_FILES['file_uploaded']['error'] erfassen, sofern dieser Eintrag existiert, ohne den Dateiinhalt oder die ganze Anfrage zu protokollieren. UPLOAD_ERR_NO_FILE wird beim Aufbau der Symfony-Anfrage normalerweise zu null.
Prüfen Sie danach, ohne mehrere Variablen gleichzeitig zu ändern:
- dass das ZIP weder
upload_max_filesizenochpost_max_sizenoch ein Limit von Server oder Proxy überschreitet; - dass
upload_tmp_direxistiert, Platz hat und der PHP-Prozess hineinschreiben darf; - dass in den Protokollen kein Upload-, Virenscanner- oder ModSecurity-Fehler erscheint;
- dass sich das Problem mit derselben Datei und derselben PHP-Version nachstellen lässt.
max_input_vars begrenzt Variablen aus GET, POST und COOKIE; ein hoher Wert ist nicht als Ursache für den Verlust von $_FILES dokumentiert. In einem konkreten Fall bei Hostsuar fiel das Senken des Werts mit dem Verschwinden des Symptoms zusammen, aber weder der Mechanismus noch eine Race Condition wurde nachgewiesen. Behandeln Sie es nur als umkehrbaren Test, wenn die vorherigen Daten keinen anderen Fehler zeigen: Notieren Sie den Wert, ändern Sie nur diese Direktive, starten Sie bei Bedarf dieselbe Laufzeitumgebung neu und wiederholen Sie einmal.
Ändert sich das Ergebnis, bewahren Sie Versionen, alten und neuen Wert und den Upload-Code auf; ändert es sich nicht, stellen Sie die Konfiguration wieder her. Stellen Sie diesen Zusammenhang nicht als allgemeinen Fehler von Symfony dar.
Siehe die offiziellen PHP-Upload-Fehler und die offizielle Modulinstallation von PrestaShop.
Wenn PHP gar keine Datei erhält
Wenn die Anfrage post_max_size überschreitet, kann PHP sowohl $_POST als auch $_FILES leer lassen; in diesem Fall gibt es für diesen Eintrag keinen Upload-Code. Prüfen Sie die Gesamtgröße der Anfrage, nicht nur das ZIP, und gleichen Sie sie mit dem Protokoll von Server oder Proxy ab. Ein 413 kann auftreten, bevor PrestaShop das Formular verarbeitet.
Senken Sie max_input_vars nicht blind: Das kann andere Formulare im Administrator abschneiden. Wird dieser Test wegen des beschriebenen Vorfalls vereinbart, prüfen Sie auch ein repräsentatives Formular und stellen Sie den Wert wieder her, wenn er keine reproduzierbare Verbesserung bringt. Installieren Sie nur ein offizielles, kompatibles Paket und wiederholen Sie den Upload nicht, solange eine vorherige Installation noch läuft.
Das könnte Ihnen auch helfen
- Ein Modul wiederherstellen, das im PrestaShop-Theme nicht erscheint Prüfen Sie die aktive Position, den Hook des Themes und die Ausnahmen eines PrestaShop-Moduls, bevor...
- Fehler „An error occurred while sending the message“ im Kontaktformular von PrestaShop Diagnostizieren Sie, warum das Kontaktformular abgelehnt wird, und korrigieren Sie einen alten Overr...
- Update Assistant zeigt „Please fix the following error(s)“ Finden Sie die Anforderung oder den nicht beschreibbaren Pfad, der den Update Assistant von PrestaSh...
- 404-Fehler bei statischen Dateien verlangsamen die Website Erkennen Sie fehlende statische Ressourcen, die PHP starten und CPU verbrauchen, liefern Sie sie als...
Stimmt etwas nicht oder hat sich etwas geändert? Erzählen Sie es uns, und wir prüfen es.