Corsi on-line

Cosa sono i PHP_FLAG?

Approfittando di un recente commento formulato a proposito di un precedente articolo, approfitterò di questo post per descrivere brevemente la funzione svolta dai PHP_FLAG; ma andiamo con ordine: quando si utilizza PHP come modulo del Web server Apache, si ha a disposizione la possibilità di modificare le impostazioni di configuirazione del linguaggio intervenendo direttamente su “httpd.conf” o tramite file “.htaccess”.Per far questo sarà necessario abilitare le direttive di Apache “AllowOverride Options” o “AllowOverride All“, in modo da assicurarsi i necessari privilegi; a questo punto sarà possibile effettuare l’override (riscrittura a runtime di una determinata direttiva) delle impostazioni del PHP.ini utilizzando delle istruzioni inviate direttamente al Web server e senza dover intervenire direttamente sul file di configurazione di PHP.

Per specificare il valore di una specifica direttiva si utilizza PHP_VALUE seguito dal nome della direttiva e dal valore, diverso è il caso in cui si debbano settare dei valori booleani (‘0’ o ‘1’, ‘on’ o ‘off’), in questo caso dovremo utilizzare PHP_FLAG. Di seguito propongo un semplice esempio (ripreso dal manuale ufficiale di PHP) di utilizzo combinato di PHP_VALUE e PHP_FLAG per l’abilitazione di due diverse versioni di PHP in parallelo:

<IfModule mod_php5.c>
  php_value include_path ".:/usr/local/lib/php"
  php_admin_flag engine on
</IfModule>
<IfModule mod_php4.c>
  php_value include_path ".:/usr/local/lib/php"
  php_admin_flag engine on
</IfModule>

Come è possibile notare, PHP_VALUE  è stato utilizzato per la definzione di un valore non booleano, in questo caso un percorso interno al file system, mentre PHP_FLAG ha permesso di settare una direttiva che può accettare solo due valori, ‘on’ o ‘off’ (boolean).

Post correlati
I più letti del mese
Tematiche