Kapitola 14 · 14.5
PHP nastavenia pre jednotlivé priečinky a cez .htaccess
Niekedy chcete, aby jeden priečinok fungoval inak ako zvyšok vašej webovej stránky. Napríklad starý webshop v podpriečinku, ktorý ešte nemôže prejsť na novú verziu PHP, alebo jeden skript, ktorý potrebuje viac pamäte. To je možné dosiahnuť pomocou súboru .htaccess v danom priečinku. Naše servery používajú LiteSpeed, a LiteSpeed číta PHP pravidlá v .htaccess.
Upozornenie: Chyba v .htaccess môže spôsobiť, že celá vaša webová stránka (alebo priečinok) bude nedostupná s chybou 500. Najprv si vytvorte kópiu súboru a otestujte ihneď po uložení. Ako nájsť a upraviť .htaccess, prečítajte si v Zobrazenie a úprava skrytých súborov ako .htaccess.
Úprava PHP nastavenia pre jeden priečinok
Do .htaccess daného priečinka vložte riadky ako tieto:
php_value upload_max_filesize 128M
php_value post_max_size 128M
php_value memory_limit 384M
php_value max_execution_time 300
Pre nastavenia, ktoré sú zapnuté alebo vypnuté, použite php_flag, napríklad php_flag display_errors off.
Tieto riadky platia pre daný priečinok a všetky priečinky pod ním. Ak ich vložíte do .htaccess v public_html, platia pre celú vašu webovú stránku.
Tip: Chcete upraviť nastavenie pre celý váš balík? V tom prípade je lepšie použiť Select PHP version (pozrite PHP možnosti: upload_max_filesize, memory_limit a max_execution_time). Tak budete mať všetko na jednom mieste a neskôr nezabudnete, že ešte máte riadky v .htaccess.
Iná verzia PHP pre jeden priečinok
Celý váš balík používa verziu, ktorú ste zvolili v Select PHP version. Ak chcete pre jeden priečinok (alebo subdoménu, ktorá má tiež vlastný priečinok) nastaviť inú verziu, vložte do .htaccess daného priečinka:
<FilesMatch "\.(php)$">
SetHandler application/x-lsphp83
</FilesMatch>
Číslo za lsphp je verzia bez bodky: 74 pre PHP 7.4, 82 pre PHP 8.2, 83 pre PHP 8.3, 84 pre PHP 8.4 a tak ďalej. Môžete si vybrať z rovnakých verzií ako v Select PHP version.
Používate v danom priečinku rozšírenia alebo nastavenia, ktoré sa líšia? Tie patria k danej verzii. V takom prípade dočasne zvoľte v Select PHP version danú verziu, nastavte rozšírenia a nastavenia, a potom verziu pre váš balík vráťte späť. Nastavenia pre jednotlivé verzie zostanú zachované.
Overenie funkčnosti
- Vytvorte v priečinku súbor info-test.php s týmto jedným riadkom: <?php echo PHP_VERSION, ' ', ini_get('memory_limit');
- Otvorte ho vo svojom prehliadači, napríklad https://www.vasadomena.sk/starylobchod/info-test.php. Uvidíte PHP verziu a pamäť.
- Súbor potom ihneď odstráňte. Nenechávajte na svojej webovej stránke testovacie súbory s informáciami o vašom serveri.
Čo nefunguje?
- Vlastný php.ini vo vašom priečinku nemá žiadny efekt. Použite Select PHP version alebo .htaccess.
- disable_functions a open_basedir nemôžete upraviť cez .htaccess. Tieto patria k zabezpečeniu servera.
- Hodnoty, ktoré sú v PHP Instellingen nastavené ako prepísanie pre doménu (pozrite PHP Instellingia DirectAdmin alebo Select PHP version: aký je rozdiel?) majú prednosť pred .htaccess.
