Configurazione di Runtime

Il comportamento di queste funzioni è influenzato dalle impostazioni di php.ini.

Opzioni di Configurazione per Opzioni/Informazioni PHP
Nome Default Modificabile Storico dei cambiamenti
assert.active "1" INI_ALL  
assert.bail "0" INI_ALL  
assert.warning "1" INI_ALL  
assert.callback NULL INI_ALL  
assert.quiet_eval "0" INI_ALL  
assert.exception "0" INI_ALL Disponibile da PHP 7.0.0.
enable_dl "1" INI_SYSTEM Questa funzione deprecata sarà sicuramente rimossa in futuro.
max_execution_time "30" INI_ALL  
max_input_time "-1" INI_PERDIR  
max_input_nesting_level "64" INI_PERDIR Disponibile da PHP 5.2.3.
max_input_vars 1000 INI_PERDIR Disponibile da PHP 5.3.9.
magic_quotes_gpc "1" INI_PERDIR Rimosso in PHP 5.4.0.
magic_quotes_runtime "0" INI_ALL Rimosso in PHP 5.4.0.
zend.enable_gc "1" INI_ALL Disponibile da PHP 5.3.0.
Per maggiori dettagli e definizioni sui modi INI_*, vedere Where a configuration setting may be set.

Breve descrizione dei parametri di configurazione.

assert.active bool

Abilita l'analisi degli assert().

assert.bail bool

Termina uno script a fronte di un assert fallito.

assert.warning bool

Invia un PHP warning per ogni asserzione fallita.

assert.callback string

Funzione utente da richiamare a fronte di un assert fallito.

assert.quiet_eval bool

Utilizzare questo parametro di error_reporting() durante l'analisi dei un'asserzione. Se è abilitato, non sono visualizzati gli errori (error_reporting(0)) durante il parsing di una asserzione. Se disabilitato, gli errori saranno visualizzati in base all'impostazione di error_reporting().

assert.exception bool

Emette un'eccezione AssertionError per l'assert fallito.

enable_dl bool

Questa direttiva è utile soltanto nella versione di PHP attiva come modulo di Apache. Essa permette di caricare in modo dinamico le estensioni di PHP potendo impostare dl() on oppure off in base al server virtuale o per directory.

La ragione principale per disabilitare il caricamento dinamico dei moduli è la sicurezza. Con il caricamento dinamico è possibile ignorare tutte le restrizioni open_basedir. Per default il caricamento dinamico è attivo.

max_execution_time int

Questo parametro imposta il tempo massimo in secondi concessi ad uno script per l'esecuzione prima di essere interrotto dal parser. Questo aiuta a prevenire che script scritti male blocchino il server. Per default è impostato a 30. Quando si esegue PHP dalla linea di comando l'impostazione predefinita è 0.

Il tempo massimo di esecuzione non è condizionato dalle chiamate di sistema, dalle operazioni sugli stream, eccetera. Vedere la funzione set_time_limit() per maggiori dettagli.

Anche il server web ha i propri timeout. Ad esempio Apache ha un proprio parametro Timeout, IIS ha una funzione di timeout sugli script CGI, entrambi con default 300 secondi. Vedere la documentazione del server web per maggiori dettagli.

max_input_time int

Imposta il tempo massimo in secondi concesso ad uno script per ricevere i dati di input, tipo POST, GET e upload di file. Il cronometraggio comincia nel momento in cui PHP viene richiamato nel server e termina quando inizia l'esecuzione. Il valore predefinito è -1, il quale indica che invece viene usato il valore max_execution_time. Impostare a 0 per permettere tempo illimitato.

max_input_nesting_level int

Imposta la profondità massima di nidificazione delle variabili di input (es. $_GET, $_POST.)

max_input_vars int

Quante variabili di input possono essere accettate (il limite è applicato alle variabili superglobali $_GET, $_POST e $_COOKIE separatamente). L'uso di questa direttiva mitiga la possibilità di attacchi di tipo denial of service che usano collisioni hash. Se ci sono più variabili di input di quanto specificato da questa direttiva, viene rilasciato un E_WARNING, e le ulteriori variabili di input vengono troncate dalla richiesta.

magic_quotes_gpc bool
Avviso

Questa funzionalità è stata DEPRECATA dal PHP 5.3.0 e RIMOSSA dal PHP 5.4.0.

Imposta il parametro magic_quote per GPC (Get/Post/Cookie). Quando magic_quote è impostato a on, tutti i ' (apici singoli), " (doppi apici), \ (backslash) e NUL sono vengono preceduti in automatico dal backslash.

Vedere anche get_magic_quotes_gpc()

magic_quotes_runtime bool
Avviso

Questa funzionalità è stata DEPRECATA dal PHP 5.3.0 e RIMOSSA dal PHP 5.4.0.

Se si abilita magic_quotes_runtime, diverse funzioni che restituiscono dati da ogni tipo di fonte esterna, compresi i database ed i file di testo, avranno gli apici preceduti dal backslash.

Funzioni interessate da magic_quotes_runtime (non include le funzioni di PECL):

zend.enable_gc bool

Abilita o disabilita il collettore di referenze circolari.

add a note add a note

User Contributed Notes 4 notes

up
21
rubo77
11 years ago
I think it is important to mention that some distributions apply bugfixes for older versions so "Available since PHP 5.3.9" is not reliable, for example:
debian squeeze implemented the directive max_input_vars in PHP 5.3.3-7+squeeze7 (see http://ftp-master.metadata.debian.org/changelogs/main/p/php5/php5_5.3.3-7+squeeze17_changelog )
up
1
csongor at halmai dot hu
4 years ago
The max_input_vars setting is defined as "How many input variables may be accepted" but this is not completely correct. There is a +1 factor.

For example, if the value is 2 then the $_POST array can have up to 3 elements, if it is 1000 then it can have 1001 elements, and so on.

I want to stop the execution of the php code when there is a chance that some data was not received. Therefore, instead of relying on the standard E_WARNING, I do this in my code.

<?php
$max_input_vars
= ini_get('max_input_vars');
if (
count($_POST) === $max_input_vars + 1) {   // note the +1 here
   
throw new Exception();
}
?>

If the size of the $_POST array reaches the maximum then there is the chance that there was more data so it is better to stay on the safe side and increase the config value.
up
-4
horst at pepperzak.com
13 years ago
Caution: Although magic_quotes_gpc is flagged as dreprecated the default value is still "ON". So you will explicitly have to put

magic_quotes_gpc = Off

into your php.ini. Commeting out the magic_quotes_gpc-line will not turn magic_quotes_gpc off.
up
-86
Anonymous
10 years ago
The max_input_vars limit can be overcome by reading the input in raw, i.e.:
<?php
  $sRawInputData
= fopen( 'php://input' );
?>
To Top