PHP - register_long_arrays
PHP - register_long_arrays
Direktiva register_long_arrays je u nás defaultně vypnutá z důvodu rychlejšího zpracování PHP skriptů. Pokud se tedy setkáte s chybovou hláškou, že některé z proměnných s názvem $HTTP_GET_VARS, $HTTP_POST_VARS, $HTTP_SERVER_VARS, $HTTP_COOKIE_VARS, $HTTP_POST_FILES nebo $HTTP_ENV_VARS je to způsobeno právě vypnutím této volby zajištující kompatibilitu se starým systémem přístupu k předávaným parametrům.
Řešení úpravou aplikace (doporučeno)
Stačí nahradit názvy proměnných dle následujícího schématu:
- $HTTP_GET_VARS -> $_GET
- $HTTP_POST_VARS -> $_POST
- $HTTP_SERVER_VARS -> $_SERVER
- $HTTP_COOKIE_VARS -> $_COOKIE
- $HTTP_POST_FILES -> $_FILES
- $HTTP_ENV_VARS -> $_ENV
Řešení pomocí změny nastavení v .htaccess
Pokud z nějahého důvodu nemůžete změnit kód aplikace dle předchozího odstavce, doplňte k vaší aplikaci soubor s názvem ".htaccess" a obsahujícím tuto řádku:
php_flag register_long_arrays 1
Varování: Tato direktiva bude v novějších verzích PHP zrušena a interpret se bude chovat tak jako by byla nastavena na hodnotu 0.