Kapitel 14 · 14.5
PHP-inställningar per mapp och via .htaccess
Ibland vill du att en mapp ska fungera annorlunda än resten av din webbplats. Till exempel ett skript som behöver mer minne eller en högre uppladdningsgräns. Det kan du lösa med en fil .htaccess i den mappen. Våra servrar kör LiteSpeed, och LiteSpeed läser PHP-regler i .htaccess.
Obs: Ett fel i .htaccess kan göra hela din webbplats (eller mappen) otillgänglig med ett fel 500. Gör först en kopia av filen och testa direkt efter att du har sparat. Hur du hittar och redigerar .htaccess läser du i Visa och redigera dolda filer som .htaccess.
Ändra en PHP-inställning för en mapp
Lägg till rader som dessa i .htaccess för den mappen:
php_value upload_max_filesize 128M
php_value post_max_size 128M
php_value memory_limit 384M
php_value max_execution_time 300
För inställningar som är på eller av använder du php_flag, till exempel php_flag display_errors off.
Reglerna gäller för den mappen och alla undermappar till den. Lägger du dem i .htaccess för public_html gäller de för hela din webbplats.
Tips: Vill du ändra en inställning för hela ditt paket? Gör det då hellre i Select PHP version (se PHP-alternativ: upload_max_filesize, memory_limit och max_execution_time). Då finns allt på ett ställe och du glömmer inte senare att det ligger kvar rader i .htaccess.
En annan PHP-version för en mapp går inte
Hela ditt paket använder den version du har valt i Select PHP version (se PHP-versionen välja (Select PHP version)). En annan version för en mapp eller ett underdomän, till exempel med raden SetHandler application/x-lsphp83 i .htaccess, fungerar inte på våra servrar. Står en sådan rad kvar i en .htaccess-fil, ta då bort den.
Måste en webbplats verkligen köra på en annan version än resten? Lägg då den webbplatsen i ett eget hostingpaket. Fungerar en gammal webbplats bara med en gammal version, låt den då uppdateras (se Fel efter en PHP-uppgradering och hitta fellogen).
Kontrollera att det fungerar
- Skapa en fil info-test.php i mappen med den här enda raden: <?php echo PHP_VERSION, ' ', ini_get('memory_limit');
- Öppna den i din webbläsare, till exempel https://www.dindomän.se/gammalbutik/info-test.php. Du ser PHP-versionen och minnet.
- Ta sedan bort filen direkt. Lämna inga testfiler med information om din server kvar på din webbplats.
Vad fungerar inte?
- En egen php.ini i din mapp har ingen effekt. Använd Select PHP version eller .htaccess.
- disable_functions och open_basedir kan du inte ändra via .htaccess. De hör till serverns säkerhet.
- Värden som under PHP-inställningar står som överstyrning för domänet (se PHP-inställningar i DirectAdmin eller Select PHP version: vad är skillnaden?) går före .htaccess.
