Il comportamento di queste funzioni è influenzato dalle impostazioni di php.ini.
Nome | Default | Modificabile | Storico dei cambiamenti |
---|---|---|---|
assert.active | "1" | INI_ALL |
Deprecato a partire da PHP 8.3.0 |
assert.bail | "0" | INI_ALL |
Deprecato a partire da PHP 8.3.0 |
assert.warning | "1" | INI_ALL |
Deprecato a partire da PHP 8.3.0 |
assert.callback | NULL | INI_ALL |
Deprecato a partire da PHP 8.3.0 |
assert.quiet_eval | "0" | INI_ALL |
Rimosso a partire da PHP 8.0.0. |
assert.exception | "1" | INI_ALL |
Prima di PHP 8.0.0, il valore predefinito è "0" .
Deprecato a partire da PHP 8.3.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 |
|
max_input_vars | 1000 | INI_PERDIR |
|
zend.enable_gc | "1" | INI_ALL |
|
zend.max_allowed_stack_size | "0" | INI_SYSTEM |
Disponibile da PHP 8.3.0. |
zend.reserved_stack_size | "0" | INI_SYSTEM |
Disponibile da PHP 8.3.0. |
fiber.stack_size | INI_ALL |
Disponibile da PHP 8.1.0. |
Breve descrizione dei parametri di configurazione.
assert.active
bool
Abilita l'analisi degli assert(). Dovrebbe essere invece utilizzato zend.assertions per controllare il comportamento di assert().
This feature has been DEPRECATED as of PHP 8.3.0. Relying on this feature is highly discouraged.
assert.bail
bool
Termina uno script a fronte di un assert fallito.
This feature has been DEPRECATED as of PHP 8.3.0. Relying on this feature is highly discouraged.
assert.warning
bool
Invia un PHP warning per ogni asserzione fallita.
This feature has been DEPRECATED as of PHP 8.3.0. Relying on this feature is highly discouraged.
assert.callback
string
Funzione utente da richiamare a fronte di un assert fallito.
This feature has been DEPRECATED as of PHP 8.3.0. Relying on this feature is highly discouraged.
assert.quiet_eval
bool
This feature was REMOVED as of PHP 8.0.0.
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.
This feature has been DEPRECATED as of PHP 8.3.0. Relying on this feature is highly discouraged.
enable_dl
bool
Questa direttiva permette di caricare in modo dinamico
le estensioni di PHP
potendo impostare dl()
on oppure off.
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
.
Su sistemi non Windows, 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.
zend.enable_gc
bool
Abilita o disabilita il collezionista di riferimento circolare.
zend.max_allowed_stack_size
int
Il massimo spazio di stack nativo che il sistema operativo consente al programma di consumare. Cercare di consumare più di quanto il sistema operativo consenta in genere provoca un crash grave senza informazioni di debug facilmente disponibili. Per semplificare il debug, il motore genera un Error prima che accada (quando il programma utilizza più di zend.max_allowed_stack_size-zend.reserved_stack_size byte di stack).
La ricorsione nel codice definito dall'utente non consuma spazio di stack nativo. Tuttavia, le funzioni interne e i metodi magici lo fanno. Una ricorsione molto profonda che coinvolge queste funzioni può causare l'esaurimento di tutto lo spazio di stack nativo disponibile da parte del programma.
I valori possibili per questo parametro sono:
0
:
Rileva automaticamente lo spazio massimo di stack nativo che il sistema operativo
consente al programma di consumare.
Questo è il valore predefinito.
Quando il rilevamento non è possibile, viene utilizzato un valore predefinito di sistema noto.
-1
: Disabilita il controllo delle dimensioni dello stack nel motore.
Poiché la dimensione dello stack di fibers è determinata da fiber.stack_size, il valore di questo parametro viene utilizzato al posto di zend.max_allowed_stack_size quando si controlla l'utilizzo dello stack durante l'esecuzione di una Fiber.
Nota:
Questo non è correlato agli overflow del buffer dello stack e non è una funzionalità di sicurezza.
zend.reserved_stack_size
int
La dimensione dello stack riservato, in byte. Questa viene sottratta dalla dimensione massima consentita dello stack, come buffer, quando si controlla la dimensione dello stack.
I valori possibili per questo parametro sono:
0
: Rileva automaticamente una dimensione ragionevole.
fiber.stack_size
int
La dimensione dello stack nativo, in byte, allocata per ogni Fiber.
Il valore predefinito è 1MiB sui sistemi con una dimensione del puntatore inferiore a 8 byte, o 2 MiB altrimenti.