Questa tipologia di direttive sono da modificare tenendo conto dei due diversi aspetti a volte contrapposti: non impedire la normale esecuzione del programma, ma evitare al tempo stesso che possa esser causato un Denial of Service del server dovuto all'esaurimento delle sue risorse (CPU, filesystem, rete) disponibili.
Per le direttive modificabili anche dagli script del programma Web, prestare attenzione a che nessuno script imposti per esse un valore troppo permissivo.
max_execution_time = 300
[Php.ini
, .htaccess
, apache2.conf
ed ogni script utente]
Tempo massimo di esecuzione degli script, espresso in secondi (qui: 5 min), prima che questi vengano interrotti, al netto delle chiamate a sistema. Ricordo che anche Apache ha un suo timeout, che vincola il presente.
max_input_time = 60
[Php.ini
, .htaccess
, apache2.conf
]
Tempo massimo in secondi concesso ad uno script per ricevere i dati di input, quali POST, GET ed upload (qui: 1 min).
memory_limit = 8M
[Php.ini
, .htaccess
, apache2.conf
ed ogni script utente].
Spazio massimo in RAM che uno script può usare (qui: 8 MB).
post_max_size = 10M
[Php.ini
, .htaccess
, apache2.conf
]
Grandezza massima dei dati in POST che ogni script può accettare (qui: 10 MB).
upload_max_filesize = 5M
[Php.ini
, .htaccess
, apache2.conf
]
Grandezza massima dei file in upload (qui: 5 MByte). Ricordo che l'upload è veicolato generalmente da un form Web (quindi da dati POST): upload_max_filesize
è legato al valore massimo di post_max_size
.
Per entrambe le ultime direttive, Apache ha timeout suoi.
I valori delle precedenti sono da prendersi come ordine di grandezza e come dato puramente teorico: se uno script PHP va in loop o crash, il limite imposto sicuramente non verrà rispettato.