Breve descrizione dei parametri
di configurazione.
-
include_path
string
-
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.
PHP considera separatamente ogni voce nel percorso d'inclusione, quanto cerca il
file da includere. Cerca nel primo percorso, e se non lo trova,
cerca nel successivo, finché non trova il file da includere o
restituisce un
E_WARNING
oppure un E_ERROR
.
È possibile impostare o modificare il percorso di inclusione a runtime, usando
set_include_path().
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.
È più efficiente usare esplicitamente include
'./file'
piuttosto che lasciare che PHP controlli nella direcory correente
ad ogni inclusione.
Nota:
Le variabili ENV
sono accessibili anche nei file .ini.
Di conseguenza è possibile fare riferimento alla cartella home utilizzando
${LOGIN}
e ${USER}
.
Le variabili d'ambiente possono variare tra le Server API, dal momento che questi ambienti
possono essere differenti.
Example #3 include_path su Unix utilizzando la variabile d'ambiente ${USER}
include_path = ".:${USER}/pear/php"
-
open_basedir
string
-
Limita i file che possono essere acceduti da PHP ad uno specifico
albero di cartelle, contenenti il file stesso. Questo parametro
NON È modificato dallo stato del Safe Mode
(On o Off).
Quando uno script tenta di accedere al filesystem, per esempio,
include, or fopen(), la posizione del file
viene controllata.
Se il file è fuori dall'albero specificato, PHP si rifiuterà di accederci.
Tutti i link simbolici sono risolti, quindi non è possibile eludere questa restrizione
con un symlink. Se il file non esiste il symlink non può essere
risolto e il nome del file è confrontato con (uno risolto) open_basedir.
open_basedir può colpire più delle funzioni di filesystem; per esempio
se MySQL
è configurato per usare i driver mysqlnd
,
LOAD DATA INFILE
sarà influenzato da open_basedir.
Gran parte delle funzionalità estese di PHP usa open_basedir
in questo modo.
Il valore speciale .
indica che l'attuale cartella di lavoro dello script sarà usata come
base-directory. Quest è comunque abbastanza pericoloso in quanto la cartella di lavoro
dello script può essere cambiata facilmente con chdir().
In httpd.conf, open_basedir può essere disattivato
(ad esempio per alcuni host virtuali)
nello stesso modo che
gli altri parametri di configurazione con "php_admin_value open_basedir
none
".
Nei sistemi Windows, separare le cartelle con un punto e virgola. In tutti
gli altri sistemi, separare le cartelle con un due punti. Come modulo di Apache,
i percorsi open_basedir dalle cartelle parenti sono ora
automaticamente ereditati.
La restrizione specificata con open_basedir è un
nome di cartella, non un prefisso.
L'impostazione di default è quella di permettere l'apertura di tutti i file.
Nota:
open_basedir può essere ristretto a run-time. Ciò significa
che se open_basedir è impostato a /www/
in php.ini
uno script può ulteriormente restringere la configurazione a
/www/tmp/
a run-time con
ini_set(). Quando si elencano più cartelle, si
può usare la costante PATH_SEPARATOR
come separatore
indipendentemente dal sistema operativo.
Nota:
L'uso di open_basedir imposterà realpath_cache_size
a 0
e quindi disabiliterà la cache di realpath.
-
doc_root
string
-
La directory radice (root directory) del PHP sul server. Utilizzata solo se
compilata.
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_ini.cache_ttl
int
-
-
user_ini.filename
string
-
-
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 viene avviato.
-
zend_extension
string
-
Nome dell'estensione Zend caricabile dinamicamente (per esempio
XDebug) da caricare all'avvio di PHP.
-
cgi.check_shebang_line
bool
-
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.
-
cgi.discard_path
bool
-
Se questo è abilitato, il binario CGI di PHP può tranquillamente essere collocato al di fuori
dell'albero web e le persone non saranno in grado di aggirare la sicurezza di .htaccess.
-
cgi.fix_pathinfo
bool
-
Fornisce il reale supporto PATH_INFO
/
PATH_TRANSLATED
per il CGI.
Il precedente comportamento del PHP era di impostare PATH_TRANSLATED
a SCRIPT_FILENAME
, non curarsi di quale fosse
PATH_INFO
. Per maggiori dettagli su
PATH_INFO
, vedere le specifiche CGI.
Impostando il parametro a 1
, si forza il PHP
CGI a correggere il percorso in modo conforme alle specifiche.
Impostando il parametro a 0 si forza il PHP a comportarsi nel modo originario. Questa opzione è
attiva di default. Si consiglia di correggere gli script affinchè utilizzino
SCRIPT_FILENAME
piuttosto che
PATH_TRANSLATED
.
-
cgi.force_redirect
bool
-
cgi.force_redirect è necessario per garantire maggiore sicurezza al PHP eseguito come
CGI nella maggior parte dei server web. 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: quando si usa IIS questa opzione deve
essere disattivata. La stessa indicazione vale per OmniHTTPD o Xitami.
-
cgi.nph
bool
-
Se cgi.nph è abilitato, esso forzerà cgi ad inviare sempre Status: 200 per
ogni richiesta.
-
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.
-
Indica al PHP quale tipo di intestazione utilizzare quando si inviano risposte HTTP.
Se impostato a 0, il PHP invia un'intestazione » RFC 3875
"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
.
Se questa opzione è abilitata, e si sta eseguendo PHP in un ambiente CGI (es. PHP-FPM)
non si devono utilizzare le intestazioni HTTP di risposta standard RFC 2616, si devono
piuttosto utilizzare gli equivalenti RFC 3875, per esempio invece di header("HTTP/1.0 404 Not found");
si deve usare header("Status: 404 Not Found");
Lasciare il parametro a 0 a meno che non si sappia cosa si sta facendo.
-
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.
-
fastcgi.logging
bool
-
Abilita il logging di SAPI qundo si usa FastCGI. È abilitato
di default.