Come aumentare il limite della dimensione di caricamento del file PHP
Se hai un'applicazione web che carica i file sul server attraverso uno script PHP, potresti aver notato che per impostazione predefinita non puoi caricare file di dimensioni eccessive. Ecco come cambiarlo.
Il motivo per cui il limite è impostato in modo piuttosto basso per impostazione predefinita è per motivi di stabilità e sicurezza: uno script dannoso o un utente malintenzionato potrebbe tentare di eseguire il server con carichi di file di grandi dimensioni e arrestare temporaneamente l'applicazione.
Per modificare i valori è necessario modificare il file php.ini, normalmente presente in questo percorso file:
/etc/php.ini
Ecco le impostazioni che desideri modificare:
post_max_size
Questa impostazione controlla la dimensione di un post HTTP e deve essere impostata su un valore maggiore dell'impostazione upload_max_filesize.
upload_max_filesize
Questo valore imposta la dimensione massima di un file di caricamento.
memory_limit
Ti consigliamo di assicurarti che il limite di memoria dello script sia impostato su una dimensione decente, probabilmente maggiore rispetto a una delle altre due impostazioni.
Impostazione delle variabili
È possibile impostare i valori utilizzando un valore numerico seguito da M per la quantità di MB che si desidera allocare per ciascuna variabile. Ad esempio, per consentire il caricamento di 20 MB di file, devi usare qualcosa del genere:
memory_limit = 64M
upload_max_filesize = 20M
post_max_size = 25M
Dovrai riavviare il tuo server Apache dopo aver apportato questa modifica, con questo comando:
/etc/init.d/httpd restart
Impostazione della dimensione di caricamento per applicazione
È possibile modificare questa impostazione per un'applicazione Web specifica inserendola nel file .htaccess nella directory dell'applicazione. Nota che questo funzionerà solo se il tuo server ha abilitato le sostituzioni per il tuo host o server virtuale.
Ad esempio, puoi inserire quanto segue nel file:
php_value memory_limit = 64M
php_value upload_max_filesize = 20M
php_value post_max_size = 25M
Una volta salvato il file, le modifiche dovrebbero essere applicate.