2010-09-10 15 views
5

Ho uno script di ridimensionamento che ho fatto in PHP che usa GD (il mio VPS non ha imagemagick installato) per ridimensionare un'immagine, ho recentemente iniziato a ricevere errori di memoria quindi ho aumentato il memory_limit fino a 50Mb e ottengo ancora errori di memoria .GD ha bisogno di così tanta memoria durante il ridimensionamento?

L'immagine che sto tentando di ridimensionare è solo 2Mb, è corretto per le immagini di PHP, qualcosa suona un po 'sbagliato per me.

+1

Mostra il codice .. – hsz

+4

Le dimensioni dell'immagine non hanno alcun significato per i formati compressi. Dicci le * dimensioni * dell'immagine. –

+1

un VPS di solito significa "puoi installare tutto ciò di cui hai bisogno". –

risposta

6

Per ridimensionare l'immagine GD deve lavorare sull'immagine non compressa non compressa, che è significativamente maggiore di 2 MB, presumo. Imagemagick ha bisogno di memorizzare l'intera immagine (pixel * bit_depth) e un po 'di più per il lavoro effettivo in memoria.

50 megabyte non sono un granché per lavorare con le immagini. Ad esempio, Drupal ti avverte se hai un limite di memoria inferiore a 96 MB, se hai il ridimensionamento dell'immagine, ecc. Abilitato. Per le immagini di dimensioni ragionevoli, 64 MB sono sufficienti per la mia esperienza, ma se si inseriscono immagini a grandezza naturale da una fotocamera digitale si avranno problemi con quel limite di memoria.

+1

intendi 'pixel * bit_depth/8' :-) – TMS

0

Sul mio hosting condiviso/cloud (2,7 €/mese) Ancora non ho visto alcun avviso/errore durante il ridimensionamento delle immagini. Ho impostato il limite a 200 MB (a volte gli utenti devono caricare immagini molto grandi). Come ha detto Fabian, immagino che 50 sia troppo basso.

Problemi correlati