Poglavje 14 · 14.5
PHP-nastavitve za posamezno mapo in prek .htaccess
Včasih želite, da ena mapa deluje drugače kot preostanek Vašega spletnega mesta. Na primer stara spletna trgovina v podmapi, ki še ne more delovati z novejšo različico PHP, ali en sam skript, ki potrebuje več pomnilnika. To lahko uredite z datoteko .htaccess v tisti mapi. Naši strežniki uporabljajo LiteSpeed, LiteSpeed pa bere PHP-pravila v .htaccess.
Pozor: Napaka v .htaccess lahko povzroči, da celotno spletno mesto (ali mapa) postane nedosegljivo z napako 500. Najprej naredite kopijo datoteke in takoj po shranjevanju preverite delovanje. Kako najdete in urejate .htaccess, preberite v Prikaz in urejanje skritih datotek, kot je .htaccess.
Prilagoditev ene PHP-možnosti za eno mapo
V .htaccess te mape vstavite vrstice, kot so te:
php_value upload_max_filesize 128M
php_value post_max_size 128M
php_value memory_limit 384M
php_value max_execution_time 300
Za možnosti, ki so vklopljene ali izklopljene, uporabite php_flag, na primer php_flag display_errors off.
Pravila veljajo za to mapo in vse podmape pod njo. Če jih vstavite v .htaccess mape public_html, veljajo za celotno Vaše spletno mesto.
Nasvet: Želite prilagoditi možnost za celoten paket? To raje uredite v Select PHP version (glejte PHP-možnosti: upload_max_filesize, memory_limit in max_execution_time). Tako bo vse na enem mestu in pozneje ne boste pozabili, da imate še pravila v .htaccess.
Druga PHP-različica za eno mapo
Celoten paket uporablja različico, ki ste jo izbrali v Select PHP version. Če želite eni mapi (ali poddomeni, ki ima prav tako svojo mapo) dodeliti drugo različico, v .htaccess te mape vstavite:
<FilesMatch "\.(php)$">
SetHandler application/x-lsphp83
</FilesMatch>
Število za lsphp je različica brez pike: 74 za PHP 7.4, 82 za PHP 8.2, 83 za PHP 8.3, 84 za PHP 8.4, in tako naprej. Izbirate lahko med istimi različicami kot v Select PHP version.
Ali v tej mapi uporabljate razširitve ali nastavitve, ki odstopajo? Te spadajo k različici. V tem primeru v Select PHP version začasno izberite to različico, nastavite razširitve in nastavitve, nato pa različico za Vaš paket ponovno nastavite nazaj. Nastavitve po posamezni različici ostanejo shranjene.
Preverjanje delovanja
- V mapi ustvarite datoteko info-test.php s to eno vrstico: <?php echo PHP_VERSION, ' ', ini_get('memory_limit');
- Odprite jo v brskalniku, na primer https://www.vašadomena.si/staratrgovina/info-test.php. Prikazala se Vam bo PHP-različica in pomnilnik.
- Datoteko takoj po preverjanju odstranite. Na spletnem mestu ne puščajte testnih datotek s podatki o Vašem strežniku.
Kaj ne deluje?
- Lastna datoteka php.ini v Vaši mapi nima učinka. Uporabite Select PHP version ali .htaccess.
- disable_functions in open_basedir ni mogoče prilagoditi prek .htaccess. Ti spadata k varnosti strežnika.
- Vrednosti, ki so pri PHP Instellingen nastavljene kot prepis za domeno (glejte PHP Instellingen v DirectAdmin ali Select PHP version: kakšna je razlika?), imajo prednost pred .htaccess.
