Installazione e configurazione di PHP
PHP è uno script language server side html embedded.
Viene spesso usato insieme ad Apache per il quale esiste un modulo apposito.
PHP a sua volta ha diversi moduli per gestire diverse funzionalità (interfacciamento con diversi database, supporto ldap, supporto snmp ecc).
L'installazione da pacchetto prevede l'inclusione del pacchetto base e quella di eventuali altri pacchetti per i moduli desiderati. A livello di configurazione di Apache è necessario istruire il web server di trattare le pagine php con l'apposita engine:
LoadModule php4_module libexec/libphp4.so
AddType application/x-httpd-php .php .php3
AddType application/x-httpd-php-source .phps
Per verificare se PHP funziona, ed avere molte informazioni sullo stato e la configurazione del modulo, usare la funzione phpinfo()
all'interno di una pagina php e visualizzarla da un browser.
/etc/php.ini
è il file di configurazione principale. Alcuni parametri possono anche essere impostati a livello di configurazione di Apache o direttamente in una pagina php.
I parametri più significativi per la gestione sistemistica:
register_globals = Off
- I valori passati via GET/POST non sono direttamente associati a variabili con nomi arbitrari per migliorare la sicurezza. In php 3 questo parametro era impostato a ON e molto codice PHP non recente si aspetta che lo sia.
output_buffering = Off
- Se impostato a ON la pagina viene servita dal server web solo quando tutto il codice PHP interno è stato eseguito.
safe_mode = Off
- Permette di impostare, se attivato, permessi molto più stringenti su cosa possono fare le pagine php sul file system locale.
max_execution_time = 30
- Trempo massimo di esecuzione, in secondi, di una pagina/script php. Da aumentare se necessario.
memory_limit = 8M
- Memoria massima utilizzata da una pagina/script php.
post_max_size = 8M
- Dimensione massima dei file che possono essere postati su una pagina php.
display_errors = On
- Visualizza gli errori sulle pagine php (su siti in produzione è meglio evitarlo).
log_errors = On
- Abilita il logging di errori su un file di log (tipo /var/log/php.log
)
error_reporting = E_ALL & E_NOTICE
- Gestione del livello di logging.
magic_quotes_gpc = On
- Caratteri speciali com ' e "" presenti in stringhe passate in una query SQL vengono automaticamente "quotati".
file_uploads = On
- Abilita la possibilità di uploadare file.
upload_max_filesize = 2M
- Dimensione massima dei file uploadabili. Può essere necessario aumentarla.