Du kennst das. Du möchtest ein relative hoch aufgelöstes Bild in die Mediathek deiner WordPress Installation hochladen. Und dann steht da: Maximale Dateigröße für Uploads: 10 MB.
Du versuchst es trotzdem und funktioniert natürlich nicht. Was tun?
Bei modernen Setups (PHP-FPM + Apache) haben Änderungen in .htaccess (php_value) keine Wirkung auf upload_max_filesize und post_max_size. Die wirksame Reihenfolge der Überschreibung ist meist:
- VirtualHost-spezifische PHP-Konfig (häufig in conf-available oder sites-enabled)
- PHP-FPM Pool-Konfiguration (php_admin_value)
- Hauptsächliche php.ini (fpm-Version)
- .user.ini im Verzeichnis
- WordPress-interne Limits (Multisite)
Typischer Lösungsweg (Reihenfolge prüfen)
- phpinfo() erstellen und öffnen → Welche Datei steht bei „Loaded Configuration File“? → Welche Werte stehen bei upload_max_filesize / post_max_size (Local vs. Master Value)?
- Häufigste tatsächliche Stellen (2025–2026)
| Stelle | Typischer Pfad-Beispiel | Wie ändern? | Neustart nötig |
|---|---|---|---|
| VirtualHost-spezifische .conf | /etc/apache2/sites-enabled/000-default.conf oder /etc/apache2/conf-available/php.conf | php_admin_value[upload_max_filesize] = 100M | php-fpm + apache2 restart |
| PHP-FPM Pool | /etc/php/8.3/fpm/pool.d/www.conf oder domain.conf | php_admin_value[...] | php8.3-fpm restart |
| Globale FPM php.ini | /etc/php/8.3/fpm/php.ini | upload_max_filesize = 100M | php-fpm restart |
| .user.ini (pro Verzeichnis) | /var/www/html/.user.ini | upload_max_filesize = 100M | meist ohne Neustart (per Request) |
| .htaccess (php_value) | /var/www/html/.htaccess | Funktioniert nur bei mod_php | – (wirkt bei FPM gar nicht) |
Wichtige Begleitwerte (immer mit anpassen)
upload_max_filesize = 100M ; maximal erlaubte Dateigröße pro Upload
post_max_size = 128M ; maximaler POST-Body (muss ≥ upload_max_filesize sein)
memory_limit = 256M ; sollte ≥ post_max_size sein
max_execution_time = 300
max_input_time = 300
Schnell-Checkliste bei „Limit bleibt niedrig“
- phpinfo() → richtige php.ini gefunden?
- VirtualHost- oder Pool-Konfig durchsucht (grep -r „upload_max_filesize“ /etc/apache2 /etc/php)?
- .user.ini im WordPress-Root oder wp-content/uploads vorhanden?
- php-fpm restart statt reload ausgeführt? (systemctl restart php*-fpm)
- Browser-Cache / Inkognito-Modus getestet?
- Nginx als Reverse-Proxy davor? → client_max_body_size 128m; fehlt?
- Cloud-Panel (Plesk, cPanel, Runcloud, Ploi …) setzt eigene Limits?
Empfohlene saubere Vorgehensweise (für die Zukunft)
- Eine zentrale Stelle wählen (meist VirtualHost- oder Pool-Konfig)
- Dort alle wichtigen Limits setzen
- Änderungen dokumentieren (Kommentar + Datum in die Datei)
- Nach jedem Eingriff phpinfo() prüfen (Local Value muss passen)