Bug #201
offen[Bugsink] ErrorException: Warning: filesize(): stat failed for /srv/www/www.verl.de/pages/public/uploads/tx_powermail/1
0%
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 deridentifier-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 einensys_file-Eintrag zeigt, dessenidentifiernur/1ist 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