Questo elenco contiene i parametri 'core' del php.ini che sono utilizzati per configurare il PHP. Le impostazioni gestite dai vari moduli sono elencate e dettagliate nelle pagine di documentazione dei rispettivi moduli; informazioni sui parametri per le sessioni, ad esempio, possono essere troavte nelle pagine delle sessioni.
Nome | Default | Modificabile | Variazioni |
---|---|---|---|
async_send | "0" | PHP_INI_ALL |
Nome | Default | Modificabile | Variazioni |
---|---|---|---|
short_open_tag | "1" | PHP_INI_PERDIR | PHP_INI_ALL in PHP <= 4.0.0. |
asp_tags | "0" | PHP_INI_PERDIR | PHP_INI_ALL in PHP <= 4.0.0. |
precision | "14" | PHP_INI_ALL | |
y2k_compliance | "1" | PHP_INI_ALL | |
allow_call_time_pass_reference | "1" | PHP_INI_PERDIR | PHP_INI_ALL in PHP <= 4.0.0. |
expose_php | "1" | php.ini only | |
zend.ze1_compatibility_mode | "0" | PHP_INI_ALL | Disponibile da PHP 5.0.0. |
Breve descrizione dei parametri di configurazione.
Indica se abilitare o meno la forma abbreviata dei tag di apertura del PHP
<? ?>
). Se si desidera utilizzare il PHP in combinazione
con l'XML, occorre disabilitare questa opzione per potere abilitare
la riga <?xml ?>
. In alternativa occorre
stampare il testo con il PHP, ad esempio: <?php echo '<?xml
version="1.0"'; ?>
. Inoltre, se disabilitato, occorre utilizzare
la versione lunga dei tag di apertura del PHP (<?php ?>
).
Nota: Questo parametro influisce anche su
<?=
, la quale è identica a<? echo
. L'uso di questa abbreviazione richiede l'abilitazione dishort_open_tag
.
Nota: Il supporto per i tag stile ASP è sttao aggiunto nella versione 3.0.4.
Abilita o meno la possibilità di forzare gli argomenti delle funzioni ad essere passati per riferimento. Questo parametro è deprecato e potrebbe non essere più supportato nelle versioni future di PHP/Zend. Si incoraggia il metodo di specificare quale parametro debba essere passato per riferimento al momento della dichiarazione della funzione. Si suggerisce di impostare l'opzione a off per essere certi che lo script funzioni correttamente con questa impostazione, in modo da predisporsi ad eventuali modifiche future del linguaggio (si riceverà un warning ogni volta che si utilizza questa opzione e i valori saranno passati per valore anziché per riferimento).
Passare i valori per riferimento al momento della chiamata della funzione viene sconsigliato per motivi di chiarezza del codice. La funzione può modificare il parametro in modo non previsto se non indica questo come passato per riferimento. Per evitare effetti secondari inattesi, è meglio indicare soltanto al momento della dichiarazione della funzione quali parametri saranno passati per riferimento.
Vedere anche Spiegazioni sui riferimenti.
Indica se il PHP deve indicare il fatto che è installato su un server (ad esempio aggiungendo una propria sigla all'intestazione del server web). Non vi sono insiti problemi di sicurezza, ma ciò indica che si sta utilizzando il PHP su quel server.
Abilita la compatibilità con lo Zend Engine 1 (PHP 4). Ciò influisce sulle funzioni di clonazione, di cast (oggetti senza proprietà castati a FALSE o 0) e di confronto degli oggetti. In questo modo, gli oggetti sono di default passati per valore e non per riferimento.
Vedere anche la sezione intitolata Migrazione da PHP 4 a PHP 5.
Nome | Default | Modificabile | Variazioni |
---|---|---|---|
memory_limit | "128M" | PHP_INI_ALL | "8M" prima di PHP 5.2.0, "16M" in PHP 5.2.0 |
Breve descrizione dei parametri di configurazione.
Questo parametro imposta la dimensione massima in byte di memoria occupabile dallo script. Questo aiuta a impedire che script scritti male utilizzino tutta la memoria del server. Si noti che per non avere limitazioni di memoria si deve impostare questo parametro a -1.
Prima del PHP 5.2.1, Per potere utilizzare questo parametro occorreva abilitarlo al momento della compilazione usando --enable-memory-limit. Ciò era pure richiesto per definire le funzioni memory_get_usage() e memory_get_peak_usage().
Quando un integer è usato, il valore è misurato in byte. Si può anche usare una notazione abbreviata come descritto in questa FAQ.Vedi anche: max_execution_time.
Nome | Default | Modificabile | Variazioni |
---|---|---|---|
realpath_cache_size | "16K" | PHP_INI_SYSTEM | Disponibile da PHP 5.1.0. |
realpath_cache_ttl | "120" | PHP_INI_SYSTEM | Disponibile da PHP 5.1.0. |
Breve descrizione dei parametri di configurazione.
Determina la dimensione della cache di realpath usata da PHP. Questo valore dovrebbe essere aumentato nei sistemi in cui PHP apre molti file, in modo da rispecchiare la quantità di operazioni su file eseguite.
Durata temporale (in secondi) della validità della cache realpath per un dato file o cartella. Per sistemi con file che cambiano raramente valutare la possibilità di aumentare il valore.
Nome | Default | Modificabile | Variazioni |
---|---|---|---|
track_vars | "On" | PHP_INI_?? | |
arg_separator.output | "&" | PHP_INI_ALL | Disponibile da PHP 4.0.5. |
arg_separator.input | "&" | PHP_INI_PERDIR | Disponibile da PHP 4.0.5. |
variables_order | "EGPCS" | PHP_INI_PERDIR | PHP_INI_ALL in PHP <= 5.0.5. |
auto_globals_jit | "1" | PHP_INI_PERDIR | Disponibile da PHP 5.0.0. |
register_globals | "0" | PHP_INI_PERDIR | PHP_INI_ALL in PHP <= 4.2.3. |
register_argc_argv | "1" | PHP_INI_PERDIR | PHP_INI_ALL in PHP <= 4.2.3. |
register_long_arrays | "1" | PHP_INI_PERDIR | Disponibile da PHP 5.0.0. |
post_max_size | "8M" | PHP_INI_PERDIR | PHP_INI_SYSTEM in PHP <= 4.2.3. Disponibile da PHP 4.0.3. |
gpc_order | "GPC" | PHP_INI_ALL | |
auto_prepend_file | NULL | PHP_INI_PERDIR | PHP_INI_ALL in PHP <= 4.2.3. |
auto_append_file | NULL | PHP_INI_PERDIR | PHP_INI_ALL in PHP <= 4.2.3. |
default_mimetype | "text/html" | PHP_INI_ALL | |
default_charset | "" | PHP_INI_ALL | |
always_populate_raw_post_data | "0" | PHP_INI_PERDIR | PHP_INI_ALL in PHP <= 4.2.3. Disponibile da PHP 4.1.0. |
allow_webdav_methods | "0" | PHP_INI_PERDIR |
Breve descrizione dei parametri di configurazione.
Se abilitato, le variabili Environment, GET, POST, Cookie, e Server sono recuperabili nei rispettivi array associativi $_ENV, $_GET, $_POST, $_COOKIE e $_SERVER.
Nota: dal PHP 4.0.3, track_vars
è sempre impostato a on.
Il separatore degli argomenti utilizzato nelle URL genarate dal PHP.
Lista dei separatori utilizzati dal PHP per la siddivisione dell'URL di input nelle veriabili.
Nota: Qualsiasi carattere inserito in questo parametro sarà considerato un separatore!
Imposta l'ordine di parsing delle variabili EGPCS (Enviroment, Get, Post, Cookie e Server). Ad esempio, se variables_order è impostato a "SP" il PHP creerà il superglobals $_SERVER e $_POST, ma non creerà $_ENV, $_GET e $_COOKIE. L'impostazione "" significa che non verranno impostati $link.superglobals;.
se la direttiva deprecata register_globals è attiva (rimossa dal PHP 6), allora variables_order configura anche l'ordine con cui le variabili ENV, GET, POST, COOKIE e SERVER sono popolate nello scope globale. Quindi, per esempio, se variables_order è impostato a "EGPCS", register_globals è abilitato, e sia $_GET['action'] che $_POST['action'] sono impostati, allora $action conterrà il valore di $_POST['action'] dal momento che P compare dopo G nel nostro valore di esempio.
In entrambe le SAPI GSI e FastCGI, $_SERVER è popolato anche dai valori dell'environment; S è sempre equivalente a ES a prescindere dalla posizione di E nella direttiva.
Nota: Anche il contenuto ed ordine di $_REQUEST è modificato da questa direttiva.
Quando abilitato, le varaibili SERVER ed ENV sono create al momento del primo utilizzo (Just In Time) invece che all'avvio dello script. Se queste variabili non sono utilizzate dallo script, impostanto questo parametro ad on si ha un beneficio in termini di performance.
I parametri di PHP register_globals, register_long_arrays e register_argc_argv devono essere disabilitati affinché questa impostazione abbia effetto. Dal PHP 5.1.3 non è necessario avere register_argc_argv disabilitato.
Indica se registrare o meno le variabili EGPCS (Environment, GET, POST, Cookie, Server) come variabili globali.
Dal » PHP 4.2.0, questo parametro è impostato per default a off.
Guardare il capitolo della sicurezza riguardante l'uso di register_globals per maggiori informazioni.
Si ricorda che register_globals
non può essere impostato a runtime da (ini_set()). In alternativa, se
permesso dal proprio host, si può utilizzare .htaccess.
Un esempio di riga .htaccess:
php_flag register_globals off
.
Nota: Il parametro
register_globals
è influenzato da variables_order directive.
Questa direttiva è stata rimossa in PHP 6.0.0.
Imposta l'ordine di parsing delle variabili GET/POST/COOKIE. l'impostazione di default per questo parametro è "GPC". Impostare questo a "GP", ad esempio, farà ignorare i cookie al PHP e farà sovrascrivere qualsiasi variabile GET dalla eventuale omonima variabile POST.
Nota: Questo parametro non è disponibile in PHP 4. Al suo posto utilizzare variables_order.
Indica il nome del file che deve essere parsato prima del file principale. Quetso file viene incluso come se fosse chiamato dalla funzione include(), pertanto si utilizza il parametro include_path.
Il valore speciale none disabilita la funzione.
Specifica il file che deve essere parsato in automatico dopo il file principale. Il file è incluso come se fosse chiamato dalla funzione include() pertanto si utilizza il parametro include_path.
The special value none disables auto-appending.
Nota: Se lo script termina con exit(), l'auto-accodamento non viene eseguito.
Dalla versione 4.0b4, il PHP invia, per default, la codifica del carattere nell'intestazione Content-type:. Per disabilitare questo invio, lasciare vuoto il parametro.
Valorizza sempre la variabile $HTTP_RAW_POST_DATA contenente i dati grezzi di POST. Altrimenti, la variabile è riempita solo con tipi MIME non riconosciuti dei dati. Comunque, il metodo da preferire per accedere ai dati grezzi di POST è php://input. $HTTP_RAW_POST_DATA non è disponibile con enctype="multipart/form-data".
Permette la gestione delle richieste http di WebDAV all'interno di script PHP (ad esempio. PROPFIND, PROPPATCH, MOVE, COPY, etc.). Questo parametro non esisteva prima di PHP 4.3.2. Se si vuole ricevere i dati post di queste richieste, occorre impostare anche always_populate_raw_post_data.
Vedere anche: magic_quotes_gpc, magic_quotes_runtime e magic_quotes_sybase.
Nome | Default | Modificabile | Log delle variazioni |
---|---|---|---|
include_path | ".;/path/to/php/pear" | PHP_INI_ALL | |
doc_root | NULL | PHP_INI_SYSTEM | |
user_dir | NULL | PHP_INI_SYSTEM | |
extension_dir | "/path/to/php" | PHP_INI_SYSTEM | |
extension | NULL | php.ini only | |
cgi.check_shebang_line | "1" | PHP_INI_SYSTEM | Disponibile da PHP 5.2.0. |
cgi.fix_pathinfo | "1" | PHP_INI_SYSTEM | Disponibile da PHP 4.3.0. PHP_INI_ALL prima di PHP 5.2.1. |
cgi.force_redirect | "1" | PHP_INI_SYSTEM | Disponibile da PHP 4.2.0. PHP_INI_ALL prima di PHP 5.2.1. |
cgi.redirect_status_env | NULL | PHP_INI_SYSTEM | Disponibile da PHP 4.2.0. PHP_INI_ALL prima di PHP 5.2.1. |
fastcgi.impersonate | "0" | PHP_INI_SYSTEM | Disponibile da PHP 4.2.0. PHP_INI_ALL prima di PHP 5.2.1. |
cgi.rfc2616_headers | "0" | PHP_INI_ALL | Disponibile da PHP 4.3.0. |
Breve descrizione dei parametri di configurazione.
Elenco di directory in cui le funzioni require(), include(), fopen(), file(), readfile() e file_get_contents() cercheranno i file. Il formato è tipo la variabile d'ambiente PATH: una lista di directory separate da due punti in Unix, punto e virgola in Windows.
Example#1 Unix include_path
include_path=".:/php/includes"
Example#2 Windows include_path
include_path=".;c:\php\includes"
L'uso di . nel percorso di include indica, negli include relativi, la directory corrente.
La directory radice (root directory) del PHP sul server. Utilizzata solo se compilata. Se il PHP è configurato con il modalità sicura, ignorerà tutti i file al di fuori di questa directory. Se il PHP non è compilato con il parametro FORCE_REDIRECT, si dovrebbe impostare doc_root se si utilizza il PHP come CGI in qualsiasi web server (oltre che IIS). In alternativa utilizzare il seguente parametro cgi.force_redirect.
Il nome di base della directory utilizzata come home directory degli utenti per i file PHP, ad esempio public_html .
Directory in cui il PHP cerca i moduli caricabili dinamicamente. Vedere anche: enable_dl, e dl().
Quale modulo dinamico caricare quando il PHP parte.
Controlla se il PHP CGI ricerca i caratteri #! (shebang) all'inizio della prima riga dello script. Questa riga potrebbe essere necessaria se lo script deve essere eseguito sia come stand-alone che attraverso il PHP CGI. PHP in CGI salta questa linea e ignora il suo contenuto se questo parametro è attivo.
Fornisce il reale PATH_INFO/PATH_TRANSLATED per il CGI. Il precedente comportamento del PHP era di impostare PATH_TRANSLATED a SCRIPT_FILENAME, non curarsi di quale sia PATH_INFO. Per maggiori dettagli su PATH_INFO, vedere le specifiche cgi. Impostare il parametro a 1, si forza il PHP CGI a correggere il percorso in modo conforme alle specifiche. Impostare il parametro a 0 si forza il PHP a comportarsi come solito. Il valore di default è zero. Si dovrebbe correggere gli script affinchè utilizzino SCRIPT_FILENAME piuttosto che PATH_TRANSLATED.
cgi.force_redirect è necessario per garantire maggiore sicurezza al PHP quando gira come CGI in diversi web server. Non impostando il parametro, il PHP lo imposta a on per default. Può essere impostato ad off a proprio rischio.
Nota: Nota per gli utenti di Windows: si può tranquillamente impostare questo parametro a off con IIS, infatti è obbligatorio. Anche con OmniHTTPD o Xitami occorre impostare il parametro a off.
Se cgi.force_redirect è impostato ad on, e non si utilizza i web server Apache o Netscape (iPlanet), può essere necessario impostare il nome di una variabile di ambiente the il PHP verificherà per sapere se può continuare l'esecuzione.
Nota: L'impostazione di questa variabile può portare a problemi di sicurezza, fare attenzione a quello che si fa.
FastCGI con IIS (su OS basati su WINNT) offre la possibilità di attivare il contesto di sicurezza del client chiamante. Questo permette a IIS di definire un contesto di sicurezza in cui fare girare la richiesta. Attualmente mod_fastcgi di Apache non supporta questa caratteristica (17/03/2002). Impostare a 1 se si utilizza IIS. Il default è zero.
Indica al PHP quale tipo di intesazione utilizzare quando si invia risposte HTTP. Se impostato a 0, il PHP invia una intestazione Status:, che è supportata da Apache ed altri server web. Quando il parametro è impostato a 1, il PHP invia una intestazione conforme alle specifiche indicate in » RFC 2616. Lasciare il parametro a 0 a meno che non si sappia cosa si sta facendo.
Nome | Default | Modificabile | Variazioni |
---|---|---|---|
file_uploads | "1" | PHP_INI_SYSTEM | PHP_INI_ALL in PHP <= 4.2.3. Disponibile da PHP 4.0.3. |
upload_tmp_dir | NULL | PHP_INI_SYSTEM | |
upload_max_filesize | "2M" | PHP_INI_PERDIR | PHP_INI_ALL in PHP <= 4.2.3. |
Breve descrizione dei parametri di configurazione.
Indica se abilitare o meno gli upload di file. Vedere anche i parametri upload_max_filesize, upload_tmp_dir e post_max_size.
Quando un integer è usato, il valore è misurato in byte. Si può anche usare una notazione abbreviata come descritto in questa FAQ.Directory temporanea utilizzata per il transito dei file durante l'upload. Deve avere i permessi di scrittura per gli utenti utilizzati dal PHP per girare. Se non indicata il PHP utilizzerà il default di sistema.
La dimensione massima di un file inviato.
Quando un integer è usato, il valore è misurato in byte. Si può anche usare una notazione abbreviata come descritto in questa FAQ.
Nome | Default | Modificabile | Variazioni |
---|---|---|---|
sql.safe_mode | "0" | PHP_INI_SYSTEM |
Breve descrizione dei parametri di configurazione.
Se acceso, le funzioni di connessione al databse che specificano valori di default useranno questi valori al posto degli argomenti forniti. Per conoscere i valori di default consultare la documentazione dello specifico database.
Soltanto il PHP 3 possiede un debugger di default, per maggiori dettagli vedere Debugging PHP.