Skip to content

Kaikki WordPressistä, web-kehityksestä — ja paljon muuta

🔧 Kuinka korjata kuvien latausvirhe WordPressissä

🔧 Kuinka korjata kuvien latausvirhe WordPressissä

Kuvan latausvirhe WordPressissa iskee pahimmalla mahdollisella hetkellä. Olet valmistelemassa julkaisua, valitset kuvan, klikkaat "Lisää mediaa", ja WordPress näyttää hiljaa "HTTP Error" tai kieltäytyy tallentamasta tiedostoa ilman selitystä. Jos se tapahtuisi vain kerran, asia olisi ok, mutta joillain ylläpitäjillä lataukset epäonnistuvat johdonmukaisesti muutaman päivän välein.

Syy on harvoin ilmeinen. Syyllinen voi olla melkein mikä tahansa: migraation jälkeen rikkoutuneet käyttöoikeudet, tietoturvalisäosan ristiriita, rajoitettu muistiraja halvalla jaetulla hostingilla tai ModSecurity, joka tulkitsee kuvasi hyökkäykseksi. Hyvä uutinen: lähes kaikki syyt voidaan korjata ilman kehittäjää ja ilman hosting-tukeen soittamista.

Tästä oppaasta löydät täydellisen diagnoosi- ja korjausketjun kuvan latausvirheille. Yksinkertaisista toimista (selaimen vaihto, tiedostojen uudelleennimeäminen) palvelintason toimiin (php.ini-tiedoston, .htaccess-tiedoston ja wp-config.php-tiedoston muokkaaminen). Ota tästä ja korjaa; useimmat tapaukset ratkeavat 5-10 minuutissa.

💡 Pikaopas:

  • Tarkista /wp-content/uploads/-kansion käyttöoikeudet FTP:n tai cPanelin tiedostonhallinnan kautta: 744 kansioille ja 644 tiedostoille.
  • HTTP-virheissä etene ketjussa: tyhjennä selaimen välimuisti → nimeä tiedosto uudelleen → pakkaa se → poista lisäosat käytöstä → kasvata PHP:n muistia → vaihda PHP:n versio.
  • "Missing a temporary folder" -virheisiin ja tiedostokoon rajoitusongelmiin auttaa pari riviä wp-config.php- ja .htaccess-tiedostoissa.
  • GoDaddyn ja DreamHostin käyttäjät löytävät erityisratkaisut lopusta.

Miksi kuvan latausvirheitä ylipäätään tapahtuu

WordPress tallentaa kaikki mediatiedostot kansioon /wp-content/uploads/. Jotta PHP-prosessi voi kirjoittaa kuvan sinne, se tarvitsee kirjoitusoikeudet. Jos käyttöoikeudet ovat rikki (tätä tapahtuu palvelinpäivitysten, migraatioiden, palvelinvaihtojen tai jopa automaattisten PHP-päivitysten yhteydessä), lataukset epäonnistuvat hiljaa.

WordPressin kuvansiirtoikkuna näyttää virheen

Toinen syyryhmä liittyy PHP:n konfiguraatioon: muistiraja, upload_max_filesize- ja post_max_size-parametrit sekä väliaikaiskansion polku. Jos jokin näistä parametreista jää liian pieneksi, WordPress ei hyväksy tiedostoa. Halvoissa jaetuissa paketeissa palveluntarjoajat usein leikkaavat puskureita aggressiivisemmin kuin phpinfo() näyttää, ja näet "HTTP Error" -ilmoituksen ilman vihjettä todellisesta syystä.

WordPressin mediakirjasto, josta puuttuu kuvia

Lopuksi on ristiriitoja. Tietoturvalisäosa sieppaa POST-pyynnön, teema ohittaa median käsittelyn tai ModSecurity verkkopalvelimen tasolla pitää latausta uhkana. Diagnostiikka käsitellään seuraavassa osiossa.

1. Tarkista uploads-kansion käyttöoikeudet

Yleisin syy on virheelliset käyttöoikeudet kansiossa /wp-content/uploads/. WordPress ei voi kirjoittaa kansioon ja kieltäytyy hiljaa latauksesta. Ratkaisu: aseta oikea CHMOD FTP:n kautta.

Yhdistä sivustollesi FTP-asiakasohjelmalla, kuten FileZilla. Siirry kohtaan /wp-content/, etsi uploads-kansio, klikkaa hiiren kakkospainikkeella ja valitse "Tiedoston käyttöoikeudet":

FTP-kontekstivalikko, jossa tiedostojen käyttöoikeusvaihtoehto uploads-kansiolle

Avautuvassa valintaikkunassa syötä 744 numerokenttään. Valitse "Rekursio alikansioihin" ja "Käytä vain kansioihin". Klikkaa OK.

Valintaikkuna, jossa asetetaan kansioille 744-oikeudet FileZillassa

Jos 744 ei ratkaise ongelmaa, kokeile 755: omistaja saa luku-, kirjoitus- ja suoritusoikeudet, kun taas ryhmä ja muut saavat luku- ja suoritusoikeudet.

Aseta nyt käyttöoikeudet uploads-kansion sisällä oleville tiedostoille. Klikkaa uploads-kansiota uudelleen hiiren kakkospainikkeella → "Tiedoston käyttöoikeudet". Syötä 644, valitse "Rekursio alikansioihin" ja "Käytä vain tiedostoihin". Klikkaa OK.

Valintaikkuna, jossa asetetaan tiedostoille 644-oikeudet FileZillassa

Yritä ladata kuva uudelleen. Useimmissa tapauksissa virhe häviää heti tämän toimenpiteen jälkeen. Jos se ei auta, jatka seuraavaan vaiheeseen.

2. Seuraa HTTP-virheen ratkaisuketjua

HTTP-virheet latauksen aikana ovat turhauttavimpia, koska WordPress ei jätä jälkiä lokeihin. Vain "HTTP Error" eikä mitään muuta. Sinun on käytävä läpi mahdolliset korjaukset poissulkumenetelmällä. Alla on ketju yksinkertaisesta monimutkaiseen: käy ne läpi järjestyksessä, kunnes lataukset alkavat toimia.

2.1. Päivitä sivu tai vaihda selainta

Kuulostaa itsestään selvältä, mutta se toimii useammin kuin luulisi. Joskus WordPress-istunto vanhenee, ja uudelleenkirjautumisen jälkeen virhe katoaa. Päivitä sivu kovalla välimuistin nollauksella: Ctrl+F5 Windowsissa, Cmd+Shift+R Macissa. Jos se ei auta, avaa sivusto eri selaimessa. Jos virhe ilmenee Chromessa mutta ei Firefoxissa, ongelma on kyseisen selaimen laajennuksissa tai välimuistissa.

2.2. Tyhjennä selaimen välimuisti

Välimuisti tallentaa vanhentuneita skriptejä ja tyylejä, jotka voivat olla ristiriidassa WordPressin medialataajan kanssa. Pikanäppäimet täydelliseen nollaukseen:

Pikanäppäimet selaimen välimuistin tyhjentämiseen Windowsissa, Macissa ja Safarissa
  • Windows (Chrome, Firefox, Edge): Ctrl + Shift + Delete → "Tyhjennä selausdata"
  • Mac (Chrome, Firefox): Cmd + Shift + Delete
  • Safari: Shift + click the reload button

Vaihtoehtoisesti mene selaimen asetuksiin ja poista välimuisti manuaalisesti. Polku vaihtelee selaimittain, mutta löytyy aina "Historia"- tai "Tietosuoja"-osiosta.

2.3. Nimeä kuvatiedosto uudelleen

WordPress lisää automaattisesti numeroita kaksoiskappalenimiin (image-1.png, image-2.png), mutta joskus tämä mekanismi takkuaa. Nimeä tiedosto uudelleen ennen lataamista: vältä erikoismerkkejä, välilyöntejä ja ei-ASCII-merkkejä nimessä. Hyvä muoto: product-banner-01.jpg.

2.4. Pakkaa kuva

Tiedoston koko saattaa osua palveluntarjoajan rajaan. Vaikka upload_max_filesize olisi asetettu reilusti, jotkin palvelimet katkaisevat puskurin pienemmillä arvoilla. Pakkaa kuva: JPEG:lle käytä Imagify tai TinyPNG; PNG:lle käytä Squoosh.

Imagify-kuvanpakkausliitännäisen käyttöliittymä WordPressissä

Tarkista myös tiedostomuoto: jos lataat .png-tiedostoa, kokeile muuntaa se .jpg-muotoon ja päinvastoin. Joskus ongelma liittyy tiettyyn formaattiin ja PHP-kirjaston versioon (GD tai Imagick).

2.5. Ota laajennukset pois käytöstä ja vaihda teemaa

Tietoturvalaajennukset (Wordfence, Solid Security, Sucuri) ja kuvanoptimointilaajennukset voivat kaapata lataukset ja aiheuttaa ristiriitoja. Ota tilapäisesti KAIKKI laajennukset pois käytöstä ja vaihda oletusteemaan (Twenty Twenty-Five tai jokin muu oletusteema). Testaa lataus. Jos se toimii, ota laajennukset käyttöön yksi kerrallaan löytääksesi syyllisen.

2.6. Kasvata PHP:n muistirajaa

PHP:n kuvankäsittelyprosessi kuluttaa muistia. Full HD -kuvakaappaus JPEG-muodossa ei välttämättä mahdu edes 64 megatavuun. Lisää seuraava wp-config.php-tiedostoon ennen riviä /* That's all, stop editing! */:

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

2.7. Päivitä PHP-versio

Vuonna 2026 WordPress suosittelee vähimmäisversioksi PHP 8.3:a, ja optimaalisia ovat PHP 8.4 tai 8.5. Versioilla 7.4 ja sitä vanhemmilla mediasisällön lataajan toimintaa ei taata. Polku cPanelissa: "Software"-osio → "Select PHP Version" → vaihda versioon 8.4 tai 8.5.

PHP-version valinta cPanel-hallintapaneelissa

2.8. Ota ModSecurity pois käytöstä

ModSecurity on verkkopalvelintason palomuuri, joka toisinaan tulkitsee kuvien lataukset hyökkäyksiksi. Lisää seuraava .htaccess-tiedostoon (sivuston juureen):

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

Jos tämä ei auta, poista nämä rivit: ongelma ei ole ModSecurityssä.

2.9. Vaihda WordPress Imagickista GD-kirjastoon

WordPress käyttää kuvankäsittelyyn Imagickia (jos moduuli on asennettu palvelimelle) tai GD-kirjastoa. Imagick tarjoaa paremman laadun, mutta kuluttaa enemmän muistia. Jos WP_MEMORY_LIMIT ei auttanut, pakota WordPress käyttämään GD:tä. Lisää seuraava aktiivisen teemasi functions.php-tiedostoon:

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' );

Tämän jälkeen WordPress asettaa GD Libraryn ketjun ensimmäiseksi ja käyttää Imagickia varavaihtoehtona.

2.10. Asenna Add From Server vaihtoehtoiseksi lataustavaksi

Jos HTTP-virhe jatkuu ja sinun on saatava tiedosto ladattua pikaisesti, siirrä se palvelimelle FTP:llä mihin tahansa kansioon ja tuo se mediakirjastoon Add From Server -lisäosan avulla. Lisäosa noutaa tiedostot suoraan tiedostojärjestelmästä ohittaen WordPressin vakiolataajan. Minkä kokoiset tahansa tiedostot toimivat, ja ainoa rajoitus on palvelupakettisi levytila.

2.11. Ota yhteyttä hosting-palveluntarjoajaasi

Jos olet kokeillut kaikkea, kirjoita hosting-tuelle. Kuvaile virhe, liitä mukaan kuvakaappaus ja ilmoita PHP- ja WordPress-versiosi. Usein ongelma ratkeaa palvelimen puolella: tuki voi muokata php.ini-tiedostoa, poistaa ModSecurity-eston tai käynnistää PHP-FPM:n uudelleen.

3. Korjaa "Missing a temporary folder" -virhe

"Missing a temporary folder" -virhe estää kuvien lataamisen lisäksi myös lisäosien asennuksen ja WordPress-päivitykset. Syy: PHP ei löydä tai ei voi kirjoittaa väliaikaishakemistoon.

Ratkaisu on kertoa WordPressille suoraan temp-kansion polku. Avaa wp-config.php ja lisää ennen viimeistä riviä:

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

Tallenna tiedosto. Luo sitten FTP:llä tai cPanelin File Managerilla temp-kansio hakemiston /wp-content/ sisään (jos sitä ei vielä ole). Aseta kansion oikeuksiksi 755. Palaa hallintapaneeliin ja yritä lataamista uudelleen.

4. Nosta tiedostokoon latausrajaa

"Uploaded file exceeds the upload_max_filesize directive" -virhe tarkoittaa, että tiedosto on liian suuri nykyisille PHP-asetuksille. Kolme tapaa korjata, yksinkertaisesta palvelintason ratkaisuun.

4.1..Htaccessin kautta

Lisää seuraava tiedostoon .htaccess (sivuston juuressa):

1php_value upload_max_filesize 256M

Jos virhe toistuu, lisää seuraavat rivit:

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. Wp-config.php:n kautta

Lisää seuraava tiedostoon wp-config.php ennen viimeistä riviä:

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

4.3. Php.ini:n kautta

Etsi php.ini palvelimelta. Polku riippuu palveluntarjoajasta; tyypillisesti /etc/php/8.4/cli/php.ini tai muokattavissa cPanelissa ("Select PHP Version" → "Switch to PHP Options"). Avaa se, etsi upload_max_filesize-direktiivi ja muuta arvoa:

1upload_max_filesize = 256M
2post_max_size = 256M

Tallenna ja käynnistä PHP uudelleen cPanelin kautta tai SSH-komennolla. Jos sinulla ei ole pääsyä php.ini-tiedostoon, ota yhteyttä hosting-tukeen.

5. Erityisratkaisut GoDaddylle ja DreamHostille

GoDaddy

GoDaddyn jaetulla hostingilla HTTP-virheet liittyvät usein kuvankäsittelykirjastojen järjestykseen. Lisää seuraava aktiivisen teemasi functions.php-tiedostoon:

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}

Tämä koodi pakottaa GD Libraryn ensimmäiseksi, mikä ratkaisee useimmat HTTP-virhetapaukset erityisesti GoDaddylla.

DreamHost

DreamHostilla virheet liittyvät yleensä lisäosa- tai teemaristiriitoihin. Ota ensin kaikki lisäosat pois käytöstä ja vaihda oletusteemaan. Poista käyttämättömät teemat ja lisäosat, sillä ne voivat jättää kuolleita koukkuja, jotka häiritsevät lataustoimintoa. Jos tämä ei auta, ota yhteyttä DreamHostin tukeen: heillä on mukautettuja palvelinkonfiguraatioita, ja heidän tukitiiminsä tuntee yksityiskohdat.

Mitä tehdä, jos virhe toistuu jatkuvasti

Jos olet käynyt läpi koko ketjun ja lataukset epäonnistuvat yhä kerran viikossa, ongelma on syvemmällä kuin oikeuksissa tai PHP:n rajoissa. Todennäköisin syyllinen on hosting, jossa on tiukat palvelinrajoitukset (halpa jaettu palvelinpaketti) tai huonosti koodattu lisäosa, joka ylikirjoittaa medialataajan asetukset jokaisen päivityksen yhteydessä.

Sulje ensin pois lisäosat: ota kaikki pois käytöstä 24 tunniksi ja seuraa lataajan toimintaa. Jos virheitä ei ilmene 24 tunnin aikana, ota lisäosat käyttöön yksi kerrallaan päivän välein, kunnes löydät syyllisen.

Jos et löydä sitä, vaihda hostingia. Ihan tosissaan. Halvat jaetut paketit säästävät PHP-muistissa ja leikkaavat puskureita niin aggressiivisesti, etteivät mitkään .htaccess-muokkaukset auta. Vakaaseen WordPressin mediatiedostojen käsittelyyn tarvitset VPS:n tai laadukkaan hallitun hostingin, jossa memory_limit on vähintään 256M ja max_execution_time vähintään 120 sekuntia.

Vaihtoehtoinen kiertotapa: lataa kuvat FTP:llä ja tuo ne Add From Server -lisäosan kautta. Hitaampi kuin natiivi lataaja, mutta toimii millä tahansa hostingilla eikä ole riippuvainen PHP:n rajoista.

⁉️🤔 Usein kysytyt kysymykset

Miksi latausvirheitä ilmenee ilman näkyvää syytä?

Hosting-palveluntarjoajat päivittävät palvelinohjelmistoja säännöllisesti: pieniä PHP-paikkauksia, Apache-päivityksiä, ModSecurityn konfiguraatiomuutoksia. Polut, versiot ja asetukset muuttuvat, ja /wp-content/uploads/-kansion oikeudet hajoavat. Et koskenut mihinkään, mutta lataukset lakkasivat toimimasta. Ratkaisu: palauta oikeudet arvoon 744/755 kansiolle ja 644 tiedostoille /wp-content/uploads/-kansion sisällä ja tarkista PHP:n rajat.

Mit teen, jos mikään tässä artikkelissa ei auttanut?

Ota WP_DEBUG käyttöön tiedostossa wp-config.php: define( 'WP_DEBUG', true ); ja toista lataus. WordPress kirjoittaa tarkan virheen tiedostoon /wp-content/debug.log. Näet tarkan PHP-fataalivirheen tai varoituksen: useimmiten se on muistin loppuminen (allowed memory size exhausted), saavuttamaton väliaikaishakemisto (failed to open dir) tai tietty lisäosaristiriita. Näiden tietojen avulla hosting-tuki voi ratkaista ongelman paljon nopeammin.

Miten lataan erittäin suuren tiedoston, jos hostingini ei anna minun nostaa rajaa?

Käytä FTP:tä ja Add From Server -lisäosaa. Lataa tiedosto palvelimelle manuaalisesti FTP:llä kansioon /wp-content/uploads/import/ (tai mihin tahansa muuhun kansioon) ja tuo se sitten mediakirjastoon lisäosan kautta. Add From Server poimii tiedostot suoraan palvelimen tiedostojärjestelmästä ohittaen HTTP-lataajan ja kaikki sen rajoitukset. Se toimii minkä tahansa kokoisille tiedostoille; ainoa rajoitus on pakettisi levytila. Erälatauksia varten luo /wp-content/uploads/bulk-import/-kansio ja lataa kaikki sinne kerralla FTP:llä.

Voiko kuvien latausvirheet estää pysyvästi?

Niitä ei voi täysin poistaa, mutta riski voidaan minimoida. Pidä PHP ajantasaisessa versiossa (8.4 tai 8.5 vuonna 2026) ja memory_limit vähintään 256M. Älä asenna tietoturvalisäosia, joissa on aggressiiviset oletusasetukset. Tarkista /wp-content/uploads/-kansion oikeudet puolen vuoden välein. Jokaisen WordPress-ytimen tai PHP-päivityksen jälkeen tee testikuvan lataus. Jos sinulla on automaattiset varmuuskopiot määritettynä, palautus vie 5 minuuttia. Ja pidä FTP-yhteys käsillä: ilman sitä puolet tämän artikkelin ratkaisuista ei ole käytettävissä.

Tarvitaanko oikeuksien korjaamiseen FTP:tä?

Ei. Vaihtoehto on File Manager cPanelissa (tai palveluntarjoajasi vastaavassa). Siirry kohtaan File Manager → /wp-content/ → napsauta uploads-kansiota hiiren kakkospainikkeella → Change Permissions → aseta 744. Logiikka on sama; käyttöliittymä on hieman erilainen. cPanelin File Manager toimii oikeuksien kanssa täsmälleen kuten FTP-asiakasohjelma: kaikki tehdään selaimessa ilman erillistä ohjelmistoa. Käyttäjille, jotka pitävät FTP-asiakasohjelmia monimutkaisina, tämä on helpoin tapa korjata oikeudet kahdessa minuutissa.

Latausvirhe korjattu, mitä seuraavaksi?

Olet käynyt ketjun läpi ja lataukset toimivat. Nyt on ennaltaehkäisyn aika, jotta et palaa tähän ongelmaan kuukauden kuluttua. Kolme asiaa, jotka kannattaa tehdä heti:

  • Kirjaa ylös toimivat asetuksesi. Ne oikeudet (744/755), PHP:n rajat (256M), PHP:n versio (8.4+): tallenna ne muistiinpanoihisi. Seuraavan migraation tai palvelinpäivityksen yhteydessä palautat ne minuutissa sen sijaan, että käyttäisit tunnin yritykseen ja erehdykseen.
  • Määritä levytilan seuranta. Puolet "yllättävistä" latausvirheistä johtuu levytilan loppumisesta. WordPress kieltäytyy hiljaisesti kirjoittamasta, ja sinä jäät arvailemaan. Ilmaiset lisäosat, kuten WP Health, tarkistavat käytettävissä olevan tilan ja lähettävät ilmoituksen sähköpostiisi, ennen kuin levy täyttyy.
  • Tarkista lokit kerran kuussa. /wp-content/debug.log (jos otit WP_DEBUGin käyttöön) näyttää kehittymässä olevan ongelman kauan ennen kuin siitä tulee estävä. Muutama minuutti kuukaudessa säästää tunteja suunnittelemattomilta korjauksilta.

Onko vielä kysyttävää tai kohtasitko epätavallisen tapauksen? Kuvaile tilanne kommenteissa, niin selvitetään se.