Poglavlje 14 · 14.5
PHP-postavke po mapi i putem .htaccess
Ponekad želite da jedna mapa radi drukčije od ostatka Vaše web stranice. Na primjer stara web trgovina u podmapi koja još ne može raditi na novijoj PHP-verziji, ili jedna skripta kojoj je potrebno više memorije. To možete postići datotekom .htaccess u toj mapi. Naši serveri koriste LiteSpeed, a LiteSpeed čita PHP-pravila u .htaccess.
Napomena: Pogreška u .htaccess datoteci može cijelu Vašu web stranicu (ili mapu) učiniti nedostupnom uz grešku 500. Prvo napravite kopiju datoteke i testirajte odmah nakon spremanja. Kako pronaći i urediti .htaccess, pročitajte u Prikaz i uređivanje skrivenih datoteka poput .htaccess.
Prilagodba PHP-opcije za jednu mapu
U .htaccess te mape postavite retke poput ovih:
php_value upload_max_filesize 128M
php_value post_max_size 128M
php_value memory_limit 384M
php_value max_execution_time 300
Za opcije koje su uključene ili isključene, koristite php_flag, na primjer php_flag display_errors off.
Ovi redci vrijede za tu mapu i sve mape unutar nje. Ako ih postavite u .htaccess mape public_html, vrijedit će za cijelu Vašu web stranicu.
Savjet: Želite li prilagoditi opciju za cijeli Vaš paket? To je bolje učiniti putem Select PHP version (pogledajte PHP opcije: upload_max_filesize, memory_limit i max_execution_time). Tako sve ostaje na jednom mjestu, a kasnije nećete zaboraviti da u .htaccess datoteci još postoje neki redci.
Druga PHP-verzija za jednu mapu
Cijeli Vaš paket koristi verziju koju ste odabrali u Select PHP version. Želite li za jednu mapu (ili poddomenu, koja također ima vlastitu mapu) koristiti drugu verziju, u .htaccess te mape postavite:
<FilesMatch "\.(php)$">
SetHandler application/x-lsphp83
</FilesMatch>
Broj iza lsphp je verzija bez točke: 74 za PHP 7.4, 82 za PHP 8.2, 83 za PHP 8.3, 84 za PHP 8.4, i tako dalje. Možete birati iz istih verzija kao u Select PHP version.
Koristite li u toj mapi ekstenzije ili opcije koje odstupaju od zadanih? One pripadaju uz verziju. U tom slučaju privremeno odaberite tu verziju u Select PHP version, postavite ekstenzije i opcije, a zatim vratite verziju za Vaš paket natrag. Postavke po verziji ostaju sačuvane.
Provjera radi li ispravno
- U mapi napravite datoteku info-test.php s ovim jednim retkom: <?php echo PHP_VERSION, ' ', ini_get('memory_limit');
- Otvorite je u pregledniku, na primjer https://www.vašadomena.hr/stara-trgovina/info-test.php. Vidjet ćete PHP-verziju i memoriju.
- Odmah nakon toga uklonite datoteku. Ne ostavljajte testne datoteke s informacijama o Vašem serveru na web stranici.
Što ne funkcionira?
- Vlastita php.ini datoteka u Vašoj mapi nema učinka. Koristite Select PHP version ili .htaccess.
- disable_functions i open_basedir ne možete prilagoditi putem .htaccess. One su dio sigurnosnih postavki servera.
- Vrijednosti koje su kod PHP Instellingen postavljene kao prepisivanje (override) za domenu (pogledajte PHP Instellingen u DirectAdmin ili Select PHP version: koja je razlika?) imaju prednost pred .htaccess.
