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 szkript, amelynek több memóriára vagy magasabb feltöltési korlátra 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.
Más PHP-verzió egy mappához nem lehetséges
A teljes csomagja a Select PHP version menüpontban kiválasztott verziót használja (lásd A PHP-verzió kiválasztása (Select PHP version)). Egy eltérő verzió egy mappához vagy aldomainhez, például egy SetHandler application/x-lsphp83 sorral a .htaccess fájlban, a szervereinken nem működik. Ha egy ilyen sor még szerepel egy .htaccess fájlban, távolítsa el.
Tényleg más verzión kell futnia egy weboldalnak, mint a többinek? Ebben az esetben helyezze el azt a weboldalt egy külön tárhelycsomagban. Ha egy régi weboldal csak egy régi verzióval működik, frissíttesse azt (lásd Hibák PHP-frissítés után és a hibanapló megkeresése).
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 beállítások menüpontban a domainhez tartozó felülírásként beállított értékek (lásd: PHP-beállítások a DirectAdminben vagy Select PHP version: mi a különbség?) elsőbbséget élveznek a .htaccess fájlban megadottakkal szemben.
