14. fejezet · 14.5
PHP-beállítások mappánként és .htaccess fájlon keresztül
Előfordulhat, hogy azt szeretné, hogy egy mappa máshogyan működjön, mint a weboldal többi része. Például egy régi webáruház egy almappában, amely még nem támogatja az új PHP-verziót, vagy egy szkript, amelynek több memóriára van szüksége. Ez megoldható egy .htaccess fájllal az adott mappában. Szervereink LiteSpeed-et futtatnak, a LiteSpeed pedig beolvassa a PHP-vel kapcsolatos sorokat a .htaccess fájlból.
Figyelem: Egy hiba a .htaccess fájlban elérhetetlenné teheti az egész weboldalt (vagy a mappát) egy 500-as hibával. Először készítsen másolatot a fájlról, és a mentés után azonnal tesztelje. Arról, hogyan találja meg és szerkesztheti a .htaccess fájlt, itt olvashat bővebben: Rejtett fájlok, például a .htaccess megjelenítése és módosítása.
Egy PHP-beállítás módosítása egyetlen mappához
Illessze be az adott mappa .htaccess fájljába az ehhez hasonló sorokat:
php_value upload_max_filesize 128M
php_value post_max_size 128M
php_value memory_limit 384M
php_value max_execution_time 300
Be- vagy kikapcsolható beállításokhoz a php_flag parancsot kell használni, például: php_flag display_errors off.
A sorok érvényesek az adott mappára és az összes alatta lévő mappára. Ha ezeket a public_html mappa .htaccess fájljába helyezi, akkor az egész weboldalra érvényesek lesznek.
Tipp: Egy beállítást az egész csomagjára szeretne módosítani? Akkor azt inkább a Select PHP version menüpontban tegye meg (lásd: PHP opciók: upload_max_filesize, memory_limit és max_execution_time). Így minden egy helyen lesz, és később sem felejti el, hogy még vannak sorok a .htaccess fájlban.
Eltérő PHP-verzió egy mappához
A teljes csomagja a Select PHP version menüpontban kiválasztott verziót használja. Ha egy mappának (vagy egy aldomainnek, amelynek szintén saját mappája van) eltérő verziót szeretne beállítani, illessze be az adott mappa .htaccess fájljába a következőt:
<FilesMatch "\.(php)$">
SetHandler application/x-lsphp83
</FilesMatch>
A lsphp utáni szám a verziószám pont nélkül: 74 a PHP 7.4-hez, 82 a PHP 8.2-höz, 83 a PHP 8.3-hoz, 84 a PHP 8.4-hez, és így tovább. Ugyanazok közül a verziók közül választhat, mint a Select PHP version menüpontban.
Olyan bővítményeket vagy beállításokat használ ebben a mappában, amelyek eltérnek? Ezek az adott verzióhoz tartoznak. Ebben az esetben válassza ideiglenesen azt a verziót a Select PHP version menüpontban, állítsa be a bővítményeket és beállításokat, majd állítsa vissza a csomagjához tartozó verziót. A verziónkénti beállítások megmaradnak.
Ellenőrzés, hogy működik-e
- Hozzon létre a mappában egy info-test.php nevű fájlt ezzel az egy sorral: <?php echo PHP_VERSION, ' ', ini_get('memory_limit');
- Nyissa meg a böngészőjében, például: https://www.sajatdomain.hu/regiuzlet/info-test.php. A PHP-verziót és a memóriát fogja látni.
- A fájlt ezután azonnal törölje. Ne hagyjon a szerverrel kapcsolatos információkat tartalmazó tesztfájlokat a weboldalán.
Mi nem működik?
- Egy saját php.ini fájlnak a mappájában nincs hatása. Használja inkább a Select PHP version menüpontot vagy a .htaccess fájlt.
- A disable_functions és open_basedir beállításokat nem lehet .htaccess fájlon keresztül módosítani. Ezek a szerver biztonságához tartoznak.
- A PHP Instellingen menüpontban a domainhez tartozó felülírásként beállított értékek (lásd: PHP Instellingek a DirectAdminben vagy Select PHP version: mi a különbség?) elsőbbséget élveznek a .htaccess fájlban megadottakkal szemben.
