Projekt

Allgemein

Profil

Aktionen

Bug #201

offen

[Bugsink] ErrorException: Warning: filesize(): stat failed for /srv/www/www.verl.de/pages/public/uploads/tx_powermail/1

Von Bug Sink vor etwa 1 Monat hinzugefügt.

Status:
Neu
Priorität:
wichtig
Zugewiesen an:
-
Beginn:
12.09.2026
Abgabedatum:
% erledigt:

0%

Geschätzter Aufwand:

Beschreibung

Bugsink: https://bugsink.cytrus.de/issues/issue/83b4b0e8-622a-4286-abcb-b5bad0cd089e/event/last/

Typ: NEW issue

Projekt: www-verl-de

Bugsink Alert

ErrorException: Warning: filesize(): stat failed for /srv/www/www.verl.de/pages/public/uploads/tx_powermail/1


Automatisch erstellt durch n8n

KI-Analyse:

Analyse des TYPO3-Fehlers

1. Ursache identifizieren

Der Fehler filesize(): stat failed for .../uploads/tx_powermail/1 bedeutet, dass PHP versucht, die Größe einer Datei abzufragen, aber der übergebene Pfad kein gültiger Dateipfad ist. Das Ziel uploads/tx_powermail/1 ist ein Verzeichnis (ohne Dateiendung) und kein Dateipfad.

Konkrete Root Cause:
In der TYPO3-Datei-Abstraktionsschicht (FAL / Resource API) ist der identifier-Wert in der Tabelle sys_file für einen Eintrag im Verzeichnis tx_powermail auf den Pfad /1 gesetzt – also nur die ID statt eines vollständigen Dateipfads (z.B. /1/bild.jpg). Wenn TYPO3 dann filesize() aufruft, um die Dateigröße zu ermitteln (z.B. beim Rendern eines Formulars, beim Speichern oder beim Prüfen von Uploads), schlägt stat() fehl, weil /1 ein Verzeichnis ist und keine Datei.

Dies passiert typischerweise wenn:

  • Eine Datei in der sys_file-Tabelle eingetragen wurde, aber der identifier-Eintrag unvollständig oder leer ist
  • Ein Upload in Powermail verarbeitet wurde, aber der Dateiname nicht korrekt in die Datenbank geschrieben wurde
  • Eine Datei-Referenz (sys_file_reference) auf einen sys_file-Eintrag zeigt, dessen identifier nur /1 ist statt /1/dateiname.ext
  • Der Datei-Speicher in der TYPO3-Dateimodul-Konfiguration falsch konfiguriert ist

2. Fix (konkret)

Schritt 1 – Fehlerhafte Datei-Einträge identifizieren:
Im TYPO3 Install Tool unter „DB Check" prüfen oder direkt in der Datenbank:

SELECT uid, identifier FROM sys_file WHERE identifier LIKE '/1/%';

oder allgemeiner:

SELECT uid, identifier FROM sys_file WHERE identifier REGEXP '^/1$|^/[^/]+$';

Schritt 2 – Betroffene Einträge korrigieren:
Den identifier in sys_file auf den korrekten Pfad aktualisieren, z.B. von /1 auf /1/dateiname.jpg. Der korrekte Pfad kann aus der physischen Datei im Verzeichnis public/uploads/tx_powermail/ ermittelt werden.

Schritt 3 – Powermail-Upload-Pfad prüfen:
In den Powermail-TypoScript-Einstellungen das Upload-Verzeichnis validieren:

plugin.tx_powermail.settings.upload {
    folder = fileadmin/user_upload/
    # oder
    folder = uploads/tx_powermail/
}

Schritt 4 – Defensive Absicherung im Code (optional):
Wenn man an der Stelle des filesize()-Aufrufs in der eigenen Extension den Fehler abfangen kann:

if (is_file($filePath) && filesize($filePath) > 0) {
    // sicher weiterverarbeiten
}

3. Betroffene TYPO3 Extension

powermail (von in2code / dmkclub – die bekannte Formular-Extension für TYPO3)

Das Verzeichnis tx_powermail im Upload-Ordner ist der Standard-Upload-Pfad dieser Extension. Der Fehler liegt in der Interaktion zwischen Powermail-Upload-Logik und der TYPO3 FAL/Resource-API.


4. Confidence

85%

Die Diagnose ist hochwahrscheinlich, da der Pfad eindeutig auf tx_powermail als betroffene Extension zeigt und der filesize()-stat failed-Fehler auf einen ungültigen/unvollständigen Dateipfad in der sys_file-Tabelle hindeutet. Die einzige Unsicherheit liegt darin, ob es sich um ein Konfigurationsproblem (falscher Pfad in TypoScript) oder um einen korrupten Datenbank-Eintrag handelt – beides führt zum selben Symptom.

Nichts anzuzeigen

Aktionen

Auch abrufbar als: Atom PDF