Come modificare i parametri di impostazione di PHP con .htaccess

In questo articolo vedremo un’altra utile applicazione dei file .htaccess, ovvero la modifica dei parametri di configurazione di PHP. Questi parametri sono contenuti nel file php.ini al quale, se siamo in hosting, non abbiamo ovviamente accesso. Questo in quanto si tratta di hosting condivisi. Significa che un’unica installazione di Apache ed un’unica installazione di PHP gestiscono diversi siti. Il discorso naturalmente cambia quando si utilizza un hosting dedicato.

Ma come fare dunque se abbiamo la necessità di modificare un parametro di configurazione di PHP?

La funzione ini_set()

PHP mette a disposizione la funzione ini_set() che però non è sempre possibile utilizzare. A questo proposito diamo uno sguardo alla lista dei parametri di configurazione di PHP direttamente nella documentazione ufficiale.

Questa tabella ci fornisce:

  • Il nome della direttiva.
  • Il suo stato di default.
  • Come è modificabile.
  • Alcune osservazioni relative alle versioni.

Come vedi abbiamo tre livelli di modifica:

  • PHP_INI_SYSTEM: quando la direttiva è modificabile unicamente dal file php.ini (o dal file di configurazione di Apache httpd.conf). Per questo tipo di direttive non c’è nulla da fare.
  • PHP_INI_ALL: quando la direttiva può essere modificata con la funzione ini_set().
  • PHP_INI_PERDIR: quando la direttiva può essere modificata tramite file .htaccess, che è quello che vedremo ora.

Modificare le direttive tramite file .htaccess

La procedura è veramente semplice: crea il file .htaccess ed inserisci le direttive che intendi modificare usando questa sintassi:

Se la direttiva può assumere valore 1 oppure 0 (true/false)

php_flag "nome direttiva" "valore"

Mentre se la direttiva può assumere un valore numerico o alfanumerico

php_value "nome direttiva" "valore"

Ad esempio, se dovessimo trovarci su un hosting che sciaguratamente utilizza ancora il register_globals e vogliamo disattivarlo, ed inoltre abbiamo necessità di caricare file di grandi dimensioni (di default il massimo è 2Mb), potremo risolvere in questo modo:

php_flag "register_globals" "0"
php_value "upload_max_filesize" "10M"

Conclusione

In questo articolo abbiamo visto un’ennesima applicazione dei file .htaccess. Immagino che inizierai a convincerti dell’importanza di una loro approfondita conoscenza.

La modifica dei parametri di configurazione di PHP può essere un grande aiuto togliendoci dai pasticci in determinate situazioni, tuttavia ne sconsiglio l’abuso in quanto rischia di togliere portabilità ai nostri script dato che non tutti gli hosting permettono l’utilizzo dei file .htaccess.

Conoscevi queste procedure? Le utilizzi abitualmente? Puoi farci degli esempi nei quali si è resa necessaria la modifica della configurazione di PHP?

Tag: , ,

L'autore

Maurizio è sposato con la triade PHP - MySql - Apache e, non pago, ha un'amante chiamata jQuery. Ha un blog dove cerca di descrivere nei minimi particolari sia la moglie che l'amante. La sua vera specialità è la realizzazione di gestionali complessi anche se non rifiuta mai un sito web. +

Sito web dell'autore | Altri articoli scritti da

Articoli correlati

10 commenti

Trackback e pingback

Non ci sono trackback e pingback disponibili per questo articolo