Interpretovat nastavení konfiguračních direktiv
nemusí být vůbec snadné. V případě logických hodnot sice dokumentace tvrdí, že se vždy vrací
1
, 0
nebo prázdný řetězec, ale není tomu tak
v případě, že hodnotu nastavíme souborem .htaccess či httpd.conf a
direktivou php_value:
php_value magic_quotes_gpc On
V takovém případě ini_get vrátí přímo řetězec On
.
Konfiguraci je proto lepší zjišťovat účelovou funkcí, jako je třeba
get_magic_guotes_gpc()
. V případě, že žádná funkce
k dispozici není, můžete použít tuto:
Komentáře
Jakub Vrána #1
Příznaky v .htaccess by se měly nastavovat direktivou php_flag. David to jistě ví a poukazuje na to, že se to často dělá i direktivou php_value, s kterou je třeba řešit uvedený problém. Takže pro toho, kdo to neví…
Jan Tichý #2
U toho reguláru v druhém případě se v některých případech může hodit testovat to obráceně – tedy taxativně vyjmenované off,false,no,0 – a vše ostatní je pravda. Ale záleží na konkrétní direktivě, občas se může hodit spoléhat se na defaultní pravdu, jindy naopak.
David Grudl #3
ad obrácené testování: to by mě celkem zajímalo. Chování direktiv se mi totiž jeví tak, že nezávisle na jejím výchozím nastavení se po zkonfigurování nastaví na Off, a jen pokud výraz odpovídá uvedenému regulárnímu výrazu, nastaví se na On.
David Grudl #4
Aktualizace: testovací výraz jsem upravil, aby respektoval:
Jakub Vrána #5
#3 Davide Grudle, Skutečně se bere výčet pravdivých hodnot, viz zend_ini.c.
Tento článek byl uzavřen. Už není možné k němu přidávat komentáře.