- Home
- Categorie
- Coding e Sistemistica
- Hosting, Server e Domini
- memory limit
-
memory limit
Ciao a tutti,
avrei un quesito riguardo al memory limit di un server, legato in modo particolare al ridimensionamento di immagini tramite phpthumb. Mi è ormai chiaro che l'operazione di resize necessita l'utilizzo di molta memoria, specie se si tratta di immagini di medio-grandi dimensioni.
Faccio un esempio pratico altrimenti non so come spiegarmi:
assumiamo che il mio limite di memoria sia 100MB (in effetti è 99MB);
io carico e ridimensiono un'immagine sul sito e per questa operazione utilizzo ad esempio 50MB;
utilizzo metà della memoria disponibile, quindi tutto bene;
ma
se nello stesso momento in cui io eseguo quell'operazione anche un altro utente fa lo stesso e occupa 50MB di memoria, la memoria totale utilizzata dal server in quel preciso momento diventa 100MB (e quindi rischia di eccedere il limite) oppure rimane comunque 50MB?
p.s. spero di aver postato il mio quesito nella sezione giusta...
-
Il limite di memoria di php non è per utente, ma per macchina. Quindi due utenti che consumano 50 mbytes ciascuno, consumano in totale 100 mbytes.
-
ok, in effetti lo immaginavo ma avevo bisogno di una conferma...
ma quindi con che criterio posso impostare il peso massimo per il caricamento di un'immagine? considerando che il mio limite di memoria è 99MB, ma anche il fatto che non ho idea di quanti utenti si registreranno e di quanti saranno gli upload simultanei.... tipo 5MB? 3MB? :bho:
-
Si presume. Cioè si fanno calcoli a priori, considerando quella che può essere la richiesta di memoria effettiva.
Poi si monitorizza il server e se dovessero verificarsi molti casi in cui si va out of memory, allora si incrementa il memory limit.
Oppure puoi gestire il memory limit dinamicamente come indicato qui http://ulaptech.blogspot.it/2011/03/dynamically-adjusting-php-memory-limit.html
-
grazie per il link, ora lo provo... però ti vorrei chiedere un'ultima cosa
se dovesse capitare che la memoria usata supera quella consentita, perché magari c'è un numero insolitamente eccessivo di upload, c'è un modo per evitare che all'utente appaia "fatal error" e piuttosto mostrargli un messaggio tipo "il caricamento dell'immagine non è andato a buon fine, riprovare"?
-
Direi di no, php non permette di gestire quest'eventualità.
-
Ho risolto nel senso che metto un silence @ davanti alla funzione imagecreatefromjpeg() all'interno del plugin, alla fine è quella che mi genera l'errore di out of memory, soluzioni migliori anche io credo non ce ne siano...