Kapitola 14 · 14.5
PHP nastavení podle adresáře a přes .htaccess
Někdy chcete, aby jeden adresář fungoval jinak než zbytek Vaší webové stránky. Například jeden skript, který potřebuje více paměti nebo vyšší limit pro nahrávání souborů. To lze pomocí souboru .htaccess v daném adresáři. Naše servery používají LiteSpeed a LiteSpeed čte PHP pravidla v .htaccess.
Pozor: Chyba v .htaccess může způsobit, že celá Vaše webová stránka (nebo daný adresář) bude nedostupná a zobrazí se chyba 500. Nejprve si udělejte kopii souboru a po uložení ihned otestujte výsledek. Jak soubor .htaccess najít a upravit, se dočtete v Zobrazení a úprava skrytých souborů jako .htaccess.
Úprava PHP nastavení pro jeden adresář
Do souboru .htaccess daného adresáře vložte řádky podobné těmto:
php_value upload_max_filesize 128M
php_value post_max_size 128M
php_value memory_limit 384M
php_value max_execution_time 300
Pro možnosti, které jsou zapnuté nebo vypnuté, použijte php_flag, například php_flag display_errors off.
Tato pravidla platí pro daný adresář a všechny jeho podadresáře. Pokud je vložíte do souboru .htaccess v public_html, platí pro celou Vaši webovou stránku.
Tip: Chcete upravit nastavení pro celý svůj balíček? Udělejte to raději v nástroji Select PHP version (viz PHP možnosti: upload_max_filesize, memory_limit a max_execution_time). Vše pak zůstane na jednom místě a později nezapomenete, že v .htaccess ještě máte nějaká pravidla.
Jiná verze PHP pro jeden adresář není možná
Celý Váš balíček používá verzi, kterou jste zvolili v nástroji Select PHP version (viz Výběr verze PHP (Select PHP version)). Jiná verze pro jeden adresář nebo subdoménu, například pomocí řádku SetHandler application/x-lsphp83 v souboru .htaccess, na našich serverech nefunguje. Pokud takový řádek ještě máte v souboru .htaccess, odstraňte jej.
Musí jedna webová stránka opravdu běžet na jiné verzi než zbytek? Umístěte tuto webovou stránku do samostatného hostingového balíčku. Pokud stará webová stránka funguje pouze na staré verzi, nechte ji aktualizovat (viz Chyby po upgradu PHP a nalezení logu chyb).
Jak ověřit, že to funguje
- V adresáři vytvořte soubor info-test.php s tímto jedním řádkem: <?php echo PHP_VERSION, ' ', ini_get('memory_limit');
- Otevřete jej ve svém prohlížeči, například https://www.vasedomena.cz/starýobchod/info-test.php. Uvidíte verzi PHP a velikost paměti.
- Ihned poté soubor smažte. Nenechávejte na své webové stránce testovací soubory s informacemi o serveru.
Co nefunguje
- Vlastní soubor php.ini ve Vašem adresáři nemá žádný účinek. Použijte Select PHP version nebo .htaccess.
- disable_functions a open_basedir nelze upravit pomocí .htaccess. Tyto položky souvisí se zabezpečením serveru.
- Hodnoty, které jsou v nástroji PHP nastavení uvedené jako přepsání pro danou doménu (viz Nastavení PHP v DirectAdmin nebo Select PHP version: jaký je rozdíl?), mají přednost před .htaccess.
