PHP file upload - Allowed memory size of 33554432 bytes exhausted

Permalänk
Medlem

PHP file upload - Allowed memory size of 33554432 bytes exhausted

Har en funktion som laddar upp bilder på en sida. Men får numera "Allowed memory size of 33554432 bytes exhausted" när jag laddar upp lite större bilder/filer. De är 6Mpx stora och ca 1.7 MB, inte i närheten av de 33554432 byte = 32 MB de står har blivit "exhausted".

Det blir fel på den rad i i koden som kör imagecreatefromjpeg() på filen. Bilden är jpg och om jag förminskar den innan (både px och kB) så går det bra. förslag? jag har inge möjlighet att öka allowed memory size på servern.

Visa signatur

Stationär: FD Define R4 | Asus P8Z77-V Pro | Core i5 3570K @ 4.23GHz | 8 GB Corsair Vengeance @1648Mhz | Asus Radeon HD 7790 | Samsung Evo 850 512 GB | Win 10 Home x64 | NAS Synology 210j 2x2TB Samsung F4

Permalänk
Medlem

Misstänker att GD lagrar dina bilder i minnet i ett format som är lättare att arbeta med men tar mer plats. Om dina bilder är 6Mpx stora så lär de ta 6M*4B = 32MB, förutsatt att bilderna lagras med fyra färgkanaler (RGB+A), vilket jag tror de gör. Ladda upp mindre bilder eller ändra allowed memory.

Permalänk
Medlem
Citat:

Ursprungligen inskrivet av You
Misstänker att GD lagrar dina bilder i minnet i ett format som är lättare att arbeta med men tar mer plats. Om dina bilder är 6Mpx stora så lär de ta 6M*4B = 32MB, förutsatt att bilderna lagras med fyra färgkanaler (RGB+A), vilket jag tror de gör. Ladda upp mindre bilder eller ändra allowed memory.

den ursprunliga bilden laddas upp rätt. men den kan inte "resizeas". kan ju alltid kolla om webhotellet kan ändra till 64MB men ska inte räkna med det. det konstiga är att jag är ganska säker på att det här har fungerat förut. jag har visserligen skrivit om koden lite men det verkar inte vara det som är problemet. det fungerar ju på mindre bilder.

Visa signatur

Stationär: FD Define R4 | Asus P8Z77-V Pro | Core i5 3570K @ 4.23GHz | 8 GB Corsair Vengeance @1648Mhz | Asus Radeon HD 7790 | Samsung Evo 850 512 GB | Win 10 Home x64 | NAS Synology 210j 2x2TB Samsung F4

Permalänk
Medlem

Som fnågot har nämt ovan så tar din resize för mycket i minne när det är stora bilder.

Permalänk
Medlem
Citat:

Ursprungligen inskrivet av whzfred
Som fnågot har nämt ovan så tar din resize för mycket i minne när det är stora bilder.

finns det något sätt runt det än att öka minnet på servern?

Visa signatur

Stationär: FD Define R4 | Asus P8Z77-V Pro | Core i5 3570K @ 4.23GHz | 8 GB Corsair Vengeance @1648Mhz | Asus Radeon HD 7790 | Samsung Evo 850 512 GB | Win 10 Home x64 | NAS Synology 210j 2x2TB Samsung F4

Permalänk
Medlem
Citat:

Ursprungligen inskrivet av You
Misstänker att GD lagrar dina bilder i minnet i ett format som är lättare att arbeta med men tar mer plats. Om dina bilder är 6Mpx stora så lär de ta 6M*4B = 32MB, förutsatt att bilderna lagras med fyra färgkanaler (RGB+A), vilket jag tror de gör. Ladda upp mindre bilder eller ändra allowed memory.

förresten, borde inte 6M*4B bli 24 MB?

Visa signatur

Stationär: FD Define R4 | Asus P8Z77-V Pro | Core i5 3570K @ 4.23GHz | 8 GB Corsair Vengeance @1648Mhz | Asus Radeon HD 7790 | Samsung Evo 850 512 GB | Win 10 Home x64 | NAS Synology 210j 2x2TB Samsung F4

Permalänk
Medlem
Citat:

Ursprungligen inskrivet av rsmith
förresten, borde inte 6M*4B bli 24 MB?

Jo :(. Sen drar ju själva PHP-motorn lite också.

Permalänk
Medlem

Detta är ett vanligt förekommande problem som inte alltid är så enkla att komma undan om man hostar sin sida på ett webhotell.

Testa om dessa alternativ fungerar:

http://codex.gallery2.org/Gallery2:FAQ#PHP_memory_limit_-_Why...

Om det inte fungerar så är du tyvärr stekt.

Visa signatur

ηλί, ηλί, λαμά σαβαχθανί!?

Permalänk
Medlem
Citat:

Ursprungligen inskrivet av Leedow
Detta är ett vanligt förekommande problem som inte alltid är så enkla att komma undan om man hostar sin sida på ett webhotell.

Testa om dessa alternativ fungerar:

http://codex.gallery2.org/Gallery2:FAQ#PHP_memory_limit_-_Why...

Om det inte fungerar så är du tyvärr stekt.

ja har provat det. och mailat dem och de vägrar. "På företagsservers har man mer resurser per kund och där är även de nivåerna högre fast på privatservers kan de dessvärre inte utökas."

de föreslår att ja gör bilderna mindre först. borde det inte gå att komma runt på något annat sätt? nån annan funktion än imagecreatefrom jpeg() som inte tar upp så mycket minne?

Visa signatur

Stationär: FD Define R4 | Asus P8Z77-V Pro | Core i5 3570K @ 4.23GHz | 8 GB Corsair Vengeance @1648Mhz | Asus Radeon HD 7790 | Samsung Evo 850 512 GB | Win 10 Home x64 | NAS Synology 210j 2x2TB Samsung F4

Permalänk
Medlem
Citat:

Ursprungligen inskrivet av rsmith
ja har provat det. och mailat dem och de vägrar. "På företagsservers har man mer resurser per kund och där är även de nivåerna högre fast på privatservers kan de dessvärre inte utökas."

de föreslår att ja gör bilderna mindre först. borde det inte gå att komma runt på något annat sätt? nån annan funktion än imagecreatefrom jpeg() som inte tar upp så mycket minne?

Jo, det går säkert men då är det troligtvis ett till bibliotek som måste installeras på servern. Du lär ju inte få installera det.

Visa signatur

ηλί, ηλί, λαμά σαβαχθανί!?

Permalänk
Medlem

Jag hade exakt samma probem på loopias Webhotell för inte så länge sedan.
Jag löste det genom att använda

ini_set('memory_limit', 1073741824);

Visa signatur

Bloggar om Hemautomation på HomeAutomateIt.com