Configurazione del file PHP.INI

Il file di configurazione PHP, php.ini, è il modo finale e più immediato per influenzare le funzionalità di PHP. Il file php.ini viene letto ogni volta che PHP viene inizializzato. In altre parole, ogni volta che httpd viene riavviato per la versione del modulo o con ogni esecuzione di script per la versione CGI. Se la tua modifica non viene visualizzata, ricordati di interrompere e riavviare httpd. Se ancora non viene visualizzato, usa phpinfo () per controllare il percorso di php.ini.

Il file di configurazione è ben commentato e completo. Le chiavi fanno distinzione tra maiuscole e minuscole, i valori delle parole chiave no; gli spazi bianchi e le righe che iniziano con il punto e virgola vengono ignorati. I valori booleani possono essere rappresentati da 1/0, Sì / No, On / Off o True / False. I valori predefiniti in php.ini-dist risulteranno in una ragionevole installazione PHP che può essere modificata in seguito.

Qui stiamo spiegando le impostazioni importanti in php.ini di cui potresti aver bisogno per il tuo PHP Parser.

short_open_tag = Off

I tag aperti brevi hanno questo aspetto: <? ?>. Questa opzione deve essere impostata su Off se si desidera utilizzare le funzioni XML.

safe_mode = Off

Se è impostato su On, probabilmente hai compilato PHP con il flag --enable-safe-mode. La modalità provvisoria è più rilevante per l'uso CGI. Vedere la spiegazione nella sezione "Opzioni in fase di compilazione CGI". all'inizio di questo capitolo.

safe_mode_exec_dir = [DIR]

Questa opzione è rilevante solo se la modalità provvisoria è attiva; può anche essere impostato con il flag --with-exec-dir durante il processo di compilazione di Unix. PHP in modalità provvisoria esegue solo binari esterni da questa directory. L'impostazione predefinita è / usr / local / bin. Questo non ha nulla a che fare con la pubblicazione di una normale pagina Web PHP / HTML.

safe_mode_allowed_env_vars = [PHP_]

Questa opzione imposta le variabili di ambiente che gli utenti possono modificare in modalità provvisoria. L'impostazione predefinita è solo quelle variabili precedute da "PHP_". Se questa direttiva è vuota, la maggior parte delle variabili è modificabile.

safe_mode_protected_env_vars = [LD_LIBRARY_PATH]

Questa opzione imposta le variabili di ambiente che gli utenti non possono modificare in modalità provvisoria, anche se safe_mode_allowed_env_vars è impostato in modo permissivo

disable_functions = [funzione1, funzione2 ...]

Una gradita aggiunta alla configurazione PHP4 e una perpetuata in PHP5 è la possibilità di disabilitare funzioni selezionate per motivi di sicurezza. In precedenza, ciò richiedeva la modifica manuale del codice C da cui era stato creato PHP. Il filesystem, il sistema e le funzioni di rete dovrebbero probabilmente essere i primi ad andare perché consentire la capacità di scrivere file e modificare il sistema su HTTP non è mai un'idea così sicura.

max_execution_time = 30

La funzione set_time_limit () non funziona in modalità provvisoria, quindi questo è il modo principale per far scadere uno script in modalità provvisoria. In Windows, è necessario interrompere in base al consumo massimo di memoria anziché al tempo. Puoi anche utilizzare l'impostazione del timeout di Apache per il timeout se usi Apache, ma ciò si applicherà anche ai file non PHP sul sito.

error_reporting = E_ALL & ~ E_NOTICE

Il valore predefinito è E_ALL & ~ E_NOTICE, tutti gli errori tranne gli avvisi. I server di sviluppo dovrebbero essere impostati almeno sul valore predefinito; solo i server di produzione dovrebbero anche considerare un valore inferiore

error_prepend_string = [" "]

Con il suo fermalibro, error_append_string, questa impostazione ti consente di rendere i messaggi di errore di un colore diverso rispetto ad altro testo, o quello che hai.

warn_plus_overloading = Off

Questa impostazione genera un avviso se l'operatore + viene utilizzato con le stringhe, come in un valore del modulo.

variabili_ordine = EGPCS

Questa impostazione di configurazione sostituisce gpc_order. Entrambi sono ora deprecati insieme a register_globals. Imposta l'ordine delle diverse variabili: Environment, GET, POST, COOKIE e SERVER (aka Built-in). Puoi cambiare questo ordine. Le variabili verranno sovrascritte successivamente in ordine da sinistra a destra, con quella più a destra che vincerà ogni volta la mano. Ciò significa che se hai lasciato l'impostazione predefinita e ti è capitato di utilizzare lo stesso nome per una variabile di ambiente, una variabile POST e una variabile COOKIE, la variabile COOKIE avrebbe quel nome alla fine del processo. Nella vita reale, questo non accade molto.

register_globals = Off

Questa impostazione consente di decidere se si desidera registrare le variabili EGPCS come globali. Questo è ora deprecato e, da PHP4.2, questo flag è impostato su Off per impostazione predefinita. Usa invece array superglobali. Tutti i principali elenchi di codici in questo libro utilizzano array superglobali.

gpc_order = GPC

Questa impostazione è stata ritirata da GPC.

magic_quotes_gpc = Attivato

Questa impostazione evita le citazioni nei dati GET / POST / COOKIE in arrivo. Se si utilizzano molti moduli che possono essere inviati a se stessi o ad altri moduli e visualizzano i valori dei moduli, potrebbe essere necessario impostare questa direttiva su On o prepararsi all'uso di addlashes () su dati di tipo stringa.

magic_quotes_runtime = Off

Questa impostazione evita le virgolette nel database in entrata e nelle stringhe di testo. Ricorda che SQL aggiunge barre alle virgolette singole e apostrofi quando memorizza le stringhe e non le rimuove quando le restituisce. Se questa impostazione è Off, sarà necessario utilizzare striplashes () durante l'output di qualsiasi tipo di dati stringa da un database SQL. Se magic_quotes_sybase è impostato su On, deve essere Off.

magic_quotes_sybase = Off

Questa impostazione evita le virgolette singole nel database in entrata e nelle stringhe di testo con virgolette singole in stile Sybase anziché con barre rovesciate. Se magic_quotes_runtime è impostato su On, deve essere Off.

auto-prepend-file = [path / to / file]

Se qui viene specificato un percorso, PHP deve includerlo automaticamente () all'inizio di ogni file PHP. Includere restrizioni sul percorso si applicano.

auto-append-file = [percorso / a / file]

Se qui viene specificato un percorso, PHP deve includerlo automaticamente () alla fine di ogni file PHP, a meno che non si esca utilizzando la funzione exit (). Includere restrizioni sul percorso si applicano.

include_path = [DIR]

Se imposti questo valore, potrai solo includere o richiedere file da queste directory. La directory include generalmente si trova nella root del documento; questo è obbligatorio se stai eseguendo in modalità provvisoria. Impostalo su. per includere i file dalla stessa directory in cui si trova lo script. Più directory sono separate da due punti:.: / usr / local / apache / htdocs: / usr / local / lib.

doc_root = [DIR]

Se stai usando Apache, hai già impostato una root del documento per questo server o host virtuale in httpd.conf. Imposta questo valore qui se stai usando la modalità provvisoria o se vuoi abilitare PHP solo su una parte del tuo sito (ad esempio, solo in una sottodirectory della tua Web root).

file_uploads = [on / off]

Attiva questo flag se caricherai file utilizzando lo script PHP.

upload_tmp_dir = [DIR]

Non rimuovere il commento da questa riga a meno che tu non abbia compreso le implicazioni dei caricamenti HTTP!

session.save-handler = file

Tranne in rare circostanze, non vorrai modificare questa impostazione. Quindi non toccarlo.

ignore_user_abort = [On / Off]

Questa impostazione controlla cosa succede se un visitatore del sito fa clic sul pulsante Stop del browser. L'impostazione predefinita è On, il che significa che l'esecuzione dello script continua fino al completamento o al timeout. Se l'impostazione viene modificata in Off, lo script verrà interrotto. Questa impostazione funziona solo in modalità modulo, non in CGI.

mysql.default_host = hostname

L'host del server predefinito da utilizzare quando ci si connette al server del database se non viene specificato nessun altro host.

mysql.default_user = nome utente

Il nome utente predefinito da utilizzare quando ci si connette al server database se non viene specificato un altro nome.

mysql.default_password = password

La password predefinita da utilizzare durante la connessione al server del database se non viene specificata un'altra password.