Kapitel 14 · 14.5
PHP-indstillinger pr. mappe og via .htaccess
Nogle gange vil du have, at én mappe fungerer anderledes end resten af din hjemmeside. For eksempel ét script, der har brug for mere hukommelse eller en højere upload-grænse. Det kan du klare med en fil .htaccess i den mappe. Vores servere kører LiteSpeed, og LiteSpeed læser PHP-regler i .htaccess.
Bemærk: En fejl i .htaccess kan gøre hele din hjemmeside (eller mappen) utilgængelig med en fejl 500. Lav først en kopi af filen, og test straks efter du har gemt. Hvordan du finder og redigerer .htaccess, kan du læse i Sådan viser og redigerer du skjulte filer som .htaccess.
Tilpas en PHP-indstilling for én mappe
Sæt linjer som disse i .htaccess for den mappe:
php_value upload_max_filesize 128M
php_value post_max_size 128M
php_value memory_limit 384M
php_value max_execution_time 300
Til indstillinger, der er til eller fra, bruger du php_flag, for eksempel php_flag display_errors off.
Reglerne gælder for den mappe og alle mapper derunder. Sætter du dem i .htaccess for public_html, gælder de for hele din hjemmeside.
Tip: Vil du tilpasse en indstilling for hele din pakke? Så er det bedre at gøre det i Select PHP version (se PHP-indstillinger: upload_max_filesize, memory_limit og max_execution_time). Så står alt ét sted, og du glemmer ikke senere, at der stadig er regler i .htaccess.
En anden PHP-version for én mappe kan ikke lade sig gøre
Hele din pakke bruger den version, du har valgt i Select PHP version (se Sådan vælger du PHP-version (Select PHP version)). En anden version for én mappe eller underdomæne, for eksempel med en linje SetHandler application/x-lsphp83 i .htaccess, virker ikke på vores servere. Står sådan en linje stadig i en .htaccess-fil, så fjern den.
Skal én hjemmeside virkelig køre på en anden version end resten? Sæt den hjemmeside i en separat hostingpakke. Virker en gammel hjemmeside kun på en gammel version, så få den opdateret (se Fejl efter en PHP-opgradering og hvordan du finder fejlloggen).
Kontrollér, om det virker
- Opret en fil info-test.php i mappen med denne ene linje: <?php echo PHP_VERSION, ' ', ini_get('memory_limit');
- Åbn den i din browser, for eksempel https://www.dindomæne.dk/gammelbutik/info-test.php. Du ser PHP-versionen og hukommelsen.
- Slet filen igen med det samme bagefter. Lad ikke testfiler med oplysninger om din server blive liggende på din hjemmeside.
Hvad virker ikke?
- En egen php.ini i din mappe har ingen effekt. Brug Select PHP version eller .htaccess.
- disable_functions og open_basedir kan du ikke tilpasse via .htaccess. De hører til serverens sikkerhed.
- Værdier, der under PHP Indstillinger står som overstyring for domænet (se PHP Indstillinger i DirectAdmin eller Select PHP version: hvad er forskellen?), går forud for .htaccess.
