Descrizione dei parametri core di php.ini

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.

Httpd Options

Tabella G-3. Httpd Options

NomeDefaultModificabileVariazioni
async_send"0"PHP_INI_ALL 

Parametri del linguaggio

Tabella G-4. Parametri del linguaggio e configurazioni varie

NomeDefaultModificabileVariazioni
short_open_tag"1"PHP_INI_PERDIRPHP_INI_ALL in PHP <= 4.0.0.
asp_tags"0"PHP_INI_PERDIRPHP_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_PERDIRPHP_INI_ALL in PHP <= 4.0.0.
expose_php"1"php.ini only 
zend.ze1_compatibility_mode"0"PHP_INI_ALLDisponibile da PHP 5.0.0.

Breve descrizione dei parametri di configurazione.

short_open_tag boolean

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 di short_open_tag.

asp_tags boolean

Abilita l'uso dei tags tipo ASP <% %> in aggiunta agli usuali <?php ?>. Questi includono la scorciatoia per scrivere il valore delle variabili <%= $value %>. Per maggiori informazioni vedere Escaping from HTML.

Nota: Il supporto per i tag stile ASP è sttao aggiunto nella versione 3.0.4.

precision integer

Il numero di cifre significative usato nella visualizzazione dei numeri in virgola mobile.

y2k_compliance boolean

Forza la compatibilità con l'anno 2000 (ciò causa problemi con browser non compatibili)

allow_call_time_pass_reference boolean

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.

expose_php boolean

Indica se il PHP deve indicare il fatto che è installato su un server (ad esempi9o 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.

zend.ze1_compatibility_mode boolean

Abilita la compatibilità con lo Zend Engine 1 (PHP 4). Ciò influisce sulle funzioni di clonazione, di cast e di confronto degli oggetti.

Vedere anche la sezione intitolata Migrazione da PHP 4 a PHP 5.

Limiti per le risorse

Tabella G-5. Limiti per le risorse

NomeDefaultModificabileVariazioni
memory_limit"8M"PHP_INI_ALL 

Breve descrizione dei parametri di configurazione.

memory_limit integer

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. Per potere utilizzare questo parametro occorre abilitarlo al momento della compila. Pertanto occorrerà includere nella configurazione la linea: --enable-memory-limit. Si noti che occorre impostare il parametro a -1 se non si desidera impostare limiti di memoria.

Dal PHP 4.3.2, e quando è abilitato il parametro memory_limit, il PHP rende disponibile la funzione memory_get_usage().

When an integer is used, the value is measured in bytes. You may also use shorthand notation as described in this FAQ.

See also: max_execution_time.

Gestione dei dati

Tabella G-6. Parametri di configurazione per la gestione dei dati

NomeDefaultModificabileVariazioni
track_vars"On"PHP_INI_?? 
arg_separator.output"&"PHP_INI_ALLDisponibile da PHP 4.0.5.
arg_separator.input"&"PHP_INI_PERDIRDisponibile da PHP 4.0.5.
variables_order"EGPCS"PHP_INI_ALL 
auto_globals_jit"1"PHP_INI_PERDIRDisponibile da PHP 5.0.0.
register_globals"0"PHP_INI_PERDIRPHP_INI_ALL in PHP <= 4.2.3.
register_argc_argv"1"PHP_INI_PERDIRPHP_INI_ALL in PHP <= 4.2.3.
register_long_arrays"1"PHP_INI_PERDIRDisponibile da PHP 5.0.0.
post_max_size"8M"PHP_INI_PERDIRPHP_INI_SYSTEM in PHP <= 4.2.3. Disponibile da PHP 4.0.3.
gpc_order"GPC"PHP_INI_ALL 
auto_prepend_fileNULLPHP_INI_PERDIRPHP_INI_ALL in PHP <= 4.2.3.
auto_append_fileNULLPHP_INI_PERDIRPHP_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_PERDIRPHP_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.

track_vars boolean

Se abilitato, le variabili Environment, GET, POST, Cookie, e Server sono recuperabili nelle rispettive matrici $_ENV, $_GET, $_POST, $_COOKIE e $_SERVER.

Nota: dal PHP 4.0.3, track_vars è sempre impostato a on.

arg_separator.output string

Il separatore degli argomenti utilizzato nelle URL genarate dal PHP.

arg_separator.input string

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!

variables_order string

Imposta l'ordine di parsing delle variabili EGPCS (Enviroment, GET, POST, Cookie e Server). Per default l'impostazione di questo parametro è "EGPCS". Impostare questo a "GP", ad esempio, per ignorare completamente le variabili di ambiente, i cookie e le variabili del server, e per sovrascrivere qualsiasi variabile GET con una eventuale variabile POST con lo stesso nome.

Vedere anche register_globals.

auto_globals_jit boolean

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.

register_globals boolean

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.

register_argc_argv boolean

Indica al PHP se dichiarare le variabili argv & argc (che contengono le informazioni GET).

Vedere anche command line. Infine, questo parametro è stato introdotto in PHP 4.0.0 ed era sempre impostato a"on" nelle versioni precedenti.

register_long_arrays boolean

Indica al PHP se registrare o meno le deprecate variabili lunghe $HTTP_*_VARS, vedere variabili predefinite. Quando viene impostato ad On (default), vengono definite le variabili lunghe, tipo $HTTP_GET_VARS, del PHP. Se non si utilizzano, si consiglia di impostare il parametro ad off per motivi di performance. Al posto di queste, utilizzare le matrici $_GET.

Questa impostazione è disponibile dal PHP 5.0.0.

post_max_size integer

Imposta la dimensione massima dei dati post. Questa impostazione influenza anche gli upload dei file. Per permettere upload di file di grandi dimensioni, il valore impostato deve essere maggiore di upload_max_filesize.

Anche il limite di memoria, memory_limit, se abilitato, può limitare gli upload di file. In termini generali memory_limit dovrebbe essere maggiore di post_max_size.

When an integer is used, the value is measured in bytes. You may also use shorthand notation as described in this FAQ.

Se la dimensione dei dati post è maggiore di post_max_size, le variabili superglobale $_POST e $_FILES sono vuote. Questo può essere rilevato in diversi modi, ad esempio passando una variabile $_GET allo script che processa i dati, tipo <form action="edit.php?processed=1">, e verificare se $_GET['processed'] è impostata.

gpc_order string

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 è disponibil in PHP 4. Al suo posto utilizzare variables_order.

auto_prepend_file string

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.

auto_append_file string

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.

default_mimetype string

default_charset string

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.

always_populate_raw_post_data boolean

Valorizza sempre la variabile $HTTP_RAW_POST_DATA.

allow_webdav_methods boolean

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.

Percorsi e Directory

Tabella G-7. Parametri di configurazione per percorsi e directory

NomeDefaultModificabileLog delle variazioni
include_path".;/path/to/php/pear"PHP_INI_ALL 
doc_rootNULLPHP_INI_SYSTEM 
user_dirNULLPHP_INI_SYSTEM 
extension_dir"/path/to/php"PHP_INI_SYSTEM 
cgi.fix_pathinfo"0"PHP_INI_SYSTEM 
cgi.force_redirect"1"PHP_INI_SYSTEM 
cgi.redirect_status_env""PHP_INI_SYSTEM 
fastcgi.impersonate"0"PHP_INI_SYSTEM 
cgi.rfc2616_headers"0"PHP_INI_SYSTEM 

Breve descrizione dei parametri di configurazione.

include_path string

Elenco di directory in cui le funzioni require(), include() e fopen_with_path() cercheranno i files. Il formato è tipo la variabile d'ambiente PATH: una lista di directory separate da due punti in Unix, punto e virgola in Widnows.

Esempio G-1. Unix include_path

include_path=".:/php/includes"

Esempio G-2. Windows include_path

include_path=".;c:\php\includes"

L'uso di . nel percorso di include indica, negli include relativi, la directory corrente.

doc_root string

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.

user_dir string

Il nome di base della directory utilizzata come home directory degli utenti per i file PHP, ad esempio public_html .

extension_dir string

Directory in cui il PHP cerca i moduli caricabili dinamicamente. Vedere anche: enable_dl, e dl().

extension string

Quale modulo dinamico caricare quando il PHP parte.

cgi.fix_pathinfo boolean

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 boolean

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.

cgi.redirect_status_env string

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.impersonate string

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.

cgi.rfc2616_headers int

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.

File Uploads

Tabella G-8. File Uploads Configuration Options

NomeDefaultModificabileVariazioni
file_uploads"1"PHP_INI_SYSTEMPHP_INI_ALL in PHP <= 4.2.3. Disponibile da PHP 4.0.3.
upload_tmp_dirNULLPHP_INI_SYSTEM 
upload_max_filesize"2M"PHP_INI_PERDIRPHP_INI_ALL in PHP <= 4.2.3.

Breve descrizione dei parametri di configurazione.

file_uploads boolean

Indica se abilitare o meno gli upload di file. Vedere anche i parametri upload_max_filesize, upload_tmp_dir e post_max_size.

When an integer is used, the value is measured in bytes. You may also use shorthand notation as described in this FAQ.

upload_tmp_dir string

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.

upload_max_filesize integer

La dimensione massima di un file inviato.

When an integer is used, the value is measured in bytes. You may also use shorthand notation as described in this FAQ.

General SQL

Tabella G-9. Parametri di configurazione generali per SQL

NomeDefaultModificabileVariazioni
sql.safe_mode"0"PHP_INI_SYSTEM 

Breve descrizione dei parametri di configurazione.

sql.safe_mode boolean

Debugger Configuration Directives

Attenzione

Soltanto il PHP 3 possiede un debugger di default, per maggiori dettagli vedere Appendice E.

debugger.host string

Nome DNS oppure indirizzo IP utilizzato dal debugger.

debugger.port string

Numero di porta utilizzato dal debugger.

debugger.enabled boolean

Indica se abilitare o meno il debugger.