Skip to content

Allt om WordPress, webbutveckling — och mer därtill

🔧 Så här fixar du bilduppladdningsfelet i WordPress

🔧 Så här fixar du bilduppladdningsfelet i WordPress

Ett bilduppladdningsfel i WordPress slår till vid sämsta tänkbara tillfälle. Du förbereder ett inlägg, väljer en bild, klickar på "Ladda upp" och WordPress visar tyst "HTTP Error" eller vägrar spara filen utan förklaring. Om det bara hände en gång vore det okej, men för en del administratörer misslyckas uppladdningar konsekvent med några dagars mellanrum.

Orsaken är sällan uppenbar. Den skyldige kan vara vad som helst: rättigheter som gått sönder efter en migrering, en konflikt med ett säkerhetsplugin, en begränsad minnesgräns på ett billigt delat webbhotell eller ModSecurity som behandlar din bild som en attack. Den goda nyheten: nästan alla orsaker kan åtgärdas utan utvecklare och utan att kontakta webbhotellets support.

I den här guiden hittar du den kompletta diagnostik- och åtgärdskedjan för bilduppladdningsfel. Från det enkla (byta webbläsare, byta namn på filer) till servernivå (redigera php.ini, .htaccess och wp-config.php). Ta den och fixa det; de flesta fall löses på 5-10 minuter.

💡 Snabb översikt:

  • Kontrollera rättigheterna på mappen /wp-content/uploads/ via FTP eller cPanel File Manager: 744 för mappar och 644 för filer.
  • Vid HTTP-fel, följ kedjan: rensa webbläsarens cache → byt namn på filen → komprimera den → inaktivera plugins → öka PHP-minnet → byt PHP-version.
  • För fel som "Missing a temporary folder" och problem med filstorleksgränser hjälper ett par rader i wp-config.php och .htaccess.
  • GoDaddy- och DreamHost-användare hittar specifika lösningar i slutet.

Varför bilduppladdningsfel uppstår överhuvudtaget

WordPress lagrar alla mediefiler i /wp-content/uploads/. För att skriva en bild dit behöver PHP-processen skrivrättigheter. Om rättigheterna är trasiga (detta händer vid serveruppdateringar, migreringar, webbhotellsbyten eller till och med efter automatiska PHP-patchar) misslyckas uppladdningar tyst.

WordPress bilduppladdningsfönster som visar ett fel

Den andra gruppen orsaker rör PHP-konfiguration: minnesgräns, parametrarna upload_max_filesize och post_max_size samt sökvägen till den temporära mappen. Om någon av dessa parametrar inte räcker till accepterar inte WordPress filen. På billiga delade abonnemang kapar webbhotellen ofta buffertar mer aggressivt än vad som visas i phpinfo(), och du ser "HTTP Error" utan någon antydan om den verkliga orsaken.

WordPress mediebibliotek med saknade bilder

Slutligen finns det konflikter. Ett säkerhetsplugin fångar upp POST-begäran, ett tema åsidosätter mediahanteringen eller så betraktar ModSecurity på webbservernivå uppladdningen som ett hot. Diagnostik behandlas i nästa avsnitt.

1. Kontrollera rättigheterna på uploads-mappen

Den vanligaste orsaken är felaktiga rättigheter på /wp-content/uploads/. WordPress kan inte skriva till mappen och vägrar tyst uppladdningen. Lösningen: ställ in rätt CHMOD via FTP.

Anslut till din webbplats via en FTP-klient som FileZilla. Navigera till /wp-content/, hitta mappen uploads, högerklicka och välj "File permissions":

FTP-kontextmeny med filrättighetsalternativ för uploads-mappen

I dialogrutan som öppnas anger du 744 i fältet för numeriskt värde. Markera "Recurse into subdirectories" och "Apply to directories only." Klicka på OK.

Dialog som ställer in 744-rättigheter för mappar i FileZilla

Om 744 inte löser problemet, prova 755: ägaren får läsa, skriva och köra, medan grupp och andra får läsa och köra.

Ställ nu in rättigheter för filer inuti uploads. Högerklicka på mappen uploads igen → "File permissions." Ange 644, markera "Recurse into subdirectories" och "Apply to files only." Klicka på OK.

Dialog som ställer in 644-rättigheter för filer i FileZilla

Försök ladda upp en bild igen. I de flesta fall försvinner felet omedelbart efter den här proceduren. Om det inte hjälper, fortsätt till nästa steg.

2. Följ lösningskedjan för HTTP-fel

HTTP-fel vid uppladdning är de mest frustrerande eftersom WordPress inte lämnar några spår i loggarna. Bara "HTTP Error" och inget annat. Du måste arbeta dig igenom potentiella åtgärder genom uteslutningsmetoden. Nedan följer en kedja från enkel till komplex: gå igenom dem i ordning tills uppladdningarna fungerar.

2.1. Uppdatera sidan eller byt webbläsare

Det låter självklart, men det fungerar oftare än man tror. Ibland löper WordPress-sessionen ut, och efter att ha loggat in igen försvinner felet. Uppdatera sidan med en hård cache-rensning: Ctrl+F5 på Windows, Cmd+Shift+R på Mac. Om det inte hjälper, öppna webbplatsen i en annan webbläsare. Om det finns ett fel i Chrome men inte i Firefox ligger problemet i tillägg eller cache som är specifik för den webbläsaren.

2.2. Rensa webbläsarens cache

Cache lagrar föråldrade skript och stilar som kan komma i konflikt med WordPress medieuppladdare. Kortkommandon för en fullständig återställning:

Tangentbordsgenvägar för att rensa webbläsarens cache i Windows, Mac och Safari
  • Windows (Chrome, Firefox, Edge): Ctrl + Shift + Delete → "Rensa webbinformation"
  • Mac (Chrome, Firefox): Cmd + Shift + Delete
  • Safari: Shift + click the reload button

Alternativt, gå till webbläsarens inställningar och ta bort cachen manuellt. Sökvägen varierar mellan webbläsare men finns alltid under avsnittet "Historik" eller "Sekretess".

2.3. Byt namn på bildfilen

WordPress lägger automatiskt till siffror vid dubblettnamn (image-1.png, image-2.png), men ibland krånglar den här mekanismen. Byt namn på filen före uppladdning: undvik specialtecken, mellanslag och icke-ASCII-tecken i namnet. Ett bra format: product-banner-01.jpg.

2.4. Komprimera bilden

Filens storlek kan nå värdens gräns. Även om upload_max_filesize är satt generöst kan vissa värdar kapa buffertar vid lägre värden. Komprimera bilden: för JPEG, använd Imagify eller TinyPNG; för PNG, använd Squoosh.

Imagify bildkomprimeringsplugin-gränssnitt i WordPress

Kontrollera också formatet: om du laddar upp .png, prova att konvertera till .jpg, och tvärtom. Ibland är problemet kopplat till ett specifikt format och PHP-biblioteksversion (GD eller Imagick).

2.5. Inaktivera tillägg och byt tema

Säkerhetstillägg (Wordfence, Solid Security, Sucuri) och bildoptimeringstillägg kan fånga upp uppladdningar och orsaka konflikter. Inaktivera ALLA tillägg tillfälligt och byt till ett standardtema (Twenty Twenty-Five eller något annat standardtema). Testa uppladdningen. Om det fungerar, aktivera tilläggen ett i taget för att hitta boven.

2.6. Öka PHP-minnesgränsen

PHP:s bildbehandlingsprocess förbrukar minne. En Full HD-skärmdump i JPEG-format kanske inte räcker till med ens 64 MB. Lägg till följande i wp-config.php före raden /* That's all, stop editing! */:

1define( 'WP_MEMORY_LIMIT', '256M' );

2.7. Uppdatera PHP-version

Från och med 2026 rekommenderar WordPress PHP 8.3 som lägsta version, med PHP 8.4 eller 8.5 som optimalt. På version 7.4 och lägre garanteras inte medieuppladdarens funktionalitet. Sökvägen i cPanel: avsnittet "Software" → "Select PHP Version" → byt till 8.4 eller 8.5.

PHP-versionsval i cPanel-kontrollpanelen

2.8. Inaktivera ModSecurity

ModSecurity är en brandvägg på webbservernivå som ibland behandlar bilduppladdningar som attacker. Lägg till följande i .htaccess (i webbplatsens rot):

1<IfModule mod_security.c>
2SecFilterEngine Off
3SecFilterScanPOST Off
4</IfModule>

Om detta inte hjälper, ta bort dessa rader: problemet är inte ModSecurity.

2.9. Byt WordPress från Imagick till GD-biblioteket

WordPress använder Imagick (om modulen är installerad på servern) eller GD-biblioteket för bildbehandling. Imagick ger högre kvalitet men förbrukar mer minne. Om WP_MEMORY_LIMIT inte hjälpte, tvinga WordPress att använda GD. Lägg till följande i functions.php i ditt aktiva tema:

1function wpb_image_editor_default_to_gd( $editors ) {
2 $gd_editor = 'WP_Image_Editor_GD';
3 $editors = array_diff( $editors, array( $gd_editor ) );
4 array_unshift( $editors, $gd_editor );
5 return $editors;
6}
7add_filter( 'wp_image_editors', 'wpb_image_editor_default_to_gd' );

Efter detta sätter WordPress GD Library först i kedjan och använder Imagick som reserv.

2.10. Installera Add From Server som en alternativ uppladdningsmetod

Om HTTP-felet kvarstår och du behöver ladda upp en fil akut, ladda upp den till servern via FTP i valfri mapp och importera den till mediebiblioteket med Add From Server. Pluginet hämtar filer direkt från filsystemet och kringgår WordPress standarduppladdare. Filer av valfri storlek fungerar, endast begränsat av diskutrymmet i ditt abonnemang.

2.11. Kontakta ditt webbhotell

Om du har provat allt, skriv till webbhotellets support. Beskriv felet, bifoga en skärmdump och ange dina PHP- och WordPress-versioner. Ofta löses problemet på serversidan: supporten kan redigera php.ini, ta bort en ModSecurity-blockering eller starta om PHP-FPM.

3. Åtgärda felet "Saknar en temporär mapp"

Felet "Saknar en temporär mapp" blockerar inte bara bilduppladdningar utan även installation av tillägg och WordPress-uppdateringar. Orsaken: PHP kan inte hitta eller skriva till den temporära katalogen.

Lösningen är att uttryckligen tala om för WordPress sökvägen till temp-mappen. Öppna wp-config.php och lägg till före den sista raden:

1define( 'WP_TEMP_DIR', dirname( __FILE__ ) . '/wp-content/temp/' );

Spara filen. Skapa sedan en temp-mapp inuti /wp-content/ via FTP eller cPanel File Manager (om den inte redan finns). Sätt mapprättigheterna till 755. Gå tillbaka till adminpanelen och försök ladda upp igen.

4. Öka gränsen för uppladdningsfilstorlek

Felet "Den uppladdade filen överskrider direktivet upload_max_filesize" betyder att filen är för stor för de aktuella PHP-inställningarna. Tre sätt att åtgärda det, från enkla till servernivå.

4.1. Via.htaccess

Lägg till följande i .htaccess (webbplatsens rot):

1php_value upload_max_filesize 256M

Om felet upprepas, lägg till följande rader:

1php_value post_max_size 256M
2php_value memory_limit 512M
3php_value max_input_time 180
4php_value max_execution_time 180

4.2. Via wp-config.php

Lägg till följande i wp-config.php före den sista raden:

1@ini_set( 'upload_max_filesize', '256M' );
2@ini_set( 'post_max_size', '256M' );

4.3. Via php.ini

Leta reda på php.ini på servern. Sökvägen beror på webbhotellet; vanligtvis /etc/php/8.4/cli/php.ini eller konfigurerbar i cPanel ("Välj PHP-version" → "Byt till PHP-alternativ"). Öppna den, leta reda på direktivet upload_max_filesize och ändra värdet:

1upload_max_filesize = 256M
2post_max_size = 256M

Spara och starta om PHP via cPanel eller med ett SSH-kommando. Om du inte har åtkomst till php.ini, kontakta webbhotellets support.

5. Specifika lösningar för GoDaddy och DreamHost

GoDaddy

På GoDaddys delade hosting är HTTP-fel ofta relaterade till ordningen på bildbehandlingsbibliotek. Lägg till följande i functions.php för ditt aktiva tema:

1add_filter( 'wp_image_editors', 'change_graphic_lib' );
2function change_graphic_lib( $array ) {
3 return array( 'WP_Image_Editor_GD', 'WP_Image_Editor_Imagick' );
4}

Denna kod tvingar GD Library att vara först, vilket löser de flesta HTTP-fel specifikt på GoDaddy.

DreamHost

På DreamHost är fel vanligtvis relaterade till konflikter med tillägg eller teman. Avaktivera först alla tillägg och byt till ett standardtema. Ta bort oanvända teman och tillägg, eftersom de kan lämna kvar döda hooks som stör uppladdaren. Om det inte hjälper, kontakta DreamHosts support: de har anpassade serverkonfigurationer, och deras supportteam kan detaljerna.

Vad du ska göra om felet fortsätter att återkomma

Om du har gått igenom hela kedjan och uppladdningar fortfarande misslyckas en gång i veckan, ligger problemet djupare än rättigheter eller PHP-gränser. Troligast är boven ett webbhotell med strikta serverbegränsningar (billigt delat paket) eller ett dåligt skrivet tillägg som skriver över medieuppladdarens inställningar vid varje uppdatering.

Uteslut först tillägg: inaktivera allt i 24 timmar och övervaka uppladdarens beteende. Om inga fel uppstår under 24 timmar, aktivera tilläggen ett i taget med en dags mellanrum tills du hittar boven.

Om du inte kan hitta den, byt webbhotell. På allvar. Billiga delade paket snålar på PHP-minne och kapar buffertar så aggressivt att inga .htaccess-redigeringar hjälper. För stabil hantering av WordPress-mediefiler behöver du en VPS eller ett kvalitetshanterat webbhotell med memory_limit på minst 256M och max_execution_time på minst 120 sekunder.

En alternativ lösning: ladda upp bilder via FTP och importera dem genom Add From Server. Långsammare än den inbyggda uppladdaren, men fungerar på alla webbhotell och är inte beroende av PHP-gränser.

⁉️🤔 Vanliga frågor

Varför uppstår uppladdningsfel utan uppenbar anledning?

Webbhotellsleverantörer uppdaterar regelbundet serverprogramvara: mindre PHP-patchar, Apache-uppdateringar, ändringar i ModSecurity-konfigurationen. Sökvägar, versioner och inställningar ändras, och rättigheterna på /wp-content/uploads/ går sönder. Du rörde ingenting, men uppladdningarna slutade fungera. Lösningen: återställ rättigheterna till 744/755 för mappen och 644 för filer inuti /wp-content/uploads/, och kontrollera PHP-gränserna.

Vad ska jag göra om inget i den här artikeln hjälpte?

Aktivera WP_DEBUG i wp-config.php: define( 'WP_DEBUG', true ); och upprepa uppladdningen. WordPress skriver det specifika felet till /wp-content/debug.log. Du kommer att se det exakta PHP-fatala felet eller varningen: oftast är det minnesutmattning (allowed memory size exhausted), otillgänglig temporär mapp (failed to open dir) eller en specifik tilläggskonflikt. Med denna information kan webbhotellets support lösa problemet mycket snabbare.

Hur laddar jag upp en mycket stor fil om mitt webbhotell inte låter mig höja gränsen?

Använd FTP + tillägget Add From Server. Ladda upp filen till servern manuellt via FTP till /wp-content/uploads/import/ (eller någon annan mapp), importera den sedan till mediebiblioteket via tillägget. Add From Server hämtar filer direkt från serverns filsystem och kringgår HTTP-uppladdaren och alla dess gränser. Det fungerar för filer av alla storlekar; den enda begränsningen är ditt pakets diskutrymme. För massuppladdningar, skapa en /wp-content/uploads/bulk-import/-mapp och ladda upp allt dit via FTP på en gång.

Kan bilduppladdningsfel förhindras permanent?

De kan inte elimineras helt, men risken kan minimeras. Håll PHP på den aktuella versionen (8.4 eller 8.5 under 2026), med memory_limit inte lägre än 256M. Installera inte säkerhetstillägg med aggressiva standardinställningar. Kontrollera rättigheterna på /wp-content/uploads/ var sjätte månad. Efter varje WordPress-kärn- eller PHP-uppdatering, gör en testbilduppladdning. Om du har automatiska säkerhetskopior konfigurerade tar en återställning 5 minuter. Och ha FTP-åtkomst till hands: utan den är hälften av lösningarna i den här artikeln otillgängliga.

Krävs FTP för att åtgärda rättigheter?

Nej. Alternativet är File Manager i cPanel (eller ditt webbhotells motsvarighet). Gå till File Manager → /wp-content/ → högerklicka på mappen uploads → Ändra rättigheter → sätt 744. Logiken är densamma; gränssnittet är något annorlunda. cPanel File Manager fungerar med rättigheter precis som en FTP-klient: allt görs i webbläsaren utan att någon separat programvara behövs. För användare som tycker att FTP-klienter är komplicerade är detta det mest tillgängliga sättet att åtgärda rättigheter på två minuter.

Uppladdningsfelet åtgärdat, vad händer nu?

Du har gått igenom kedjan och uppladdningarna fungerar. Nu är det dags för förebyggande åtgärder, så att du inte återvänder till det här problemet om en månad. Tre saker som är värda att göra direkt:

  • Dokumentera dina fungerande inställningar. De där rättigheterna (744/755), PHP-gränserna (256M), PHP-versionen (8.4+): spara dem i dina anteckningar. Vid nästa migrering eller serveruppdatering återställer du dem på en minut istället för en timmes trial and error.
  • Sätt upp övervakning av diskutrymme. Hälften av alla "plötsliga" uppladdningsfel orsakas av att diskutrymmet tar slut. WordPress vägrar tyst att skriva, och du lämnas gissande. Gratis tillägg som WP Health kontrollerar tillgängligt utrymme och skickar ett meddelande till din e-post innan disken fylls.
  • Kontrollera loggar en gång i månaden. /wp-content/debug.log (om du aktiverade WP_DEBUG) kommer att visa ett gryende problem långt innan det blir blockerande. Några minuter i månaden sparar timmar av oplanerade reparationer.

Har du fortfarande frågor eller stött på ett ovanligt fall? Beskriv situationen i kommentarerna så reder vi ut det.