Luku 14 · 14.5
PHP-asetukset kansiokohtaisesti ja .htaccess-tiedoston kautta
Joskus haluat, että yksi kansio toimii eri tavalla kuin muu verkkosivustosi. Esimerkiksi vanha verkkokauppa alikansiossa, joka ei vielä toimi uudella PHP-versiolla, tai yksi skripti, joka tarvitsee enemmän muistia. Tämä onnistuu .htaccess-tiedostolla kyseisessä kansiossa. Palvelimemme käyttävät LiteSpeediä, ja LiteSpeed lukee PHP-säännöt .htaccess-tiedostosta.
Huomaa: Virhe .htaccess-tiedostossa voi tehdä koko verkkosivustosi (tai kansion) tavoittamattomaksi virheellä 500. Tee ensin kopio tiedostosta ja testaa heti tallennuksen jälkeen. Lue artikkelista Piilotiedostojen, kuten .htaccess, näyttäminen ja muokkaaminen, miten löydät ja muokkaat .htaccess-tiedostoa.
Yhden PHP-asetuksen muuttaminen yhdelle kansiolle
Lisää kyseisen kansion .htaccess-tiedostoon tällaisia rivejä:
php_value upload_max_filesize 128M
php_value post_max_size 128M
php_value memory_limit 384M
php_value max_execution_time 300
Päälle tai pois kytkettäville asetuksille käytä php_flag, esimerkiksi php_flag display_errors off.
Rivit koskevat kyseistä kansiota ja kaikkia sen alikansioita. Jos lisäät ne public_html-kansion .htaccess-tiedostoon, ne koskevat koko verkkosivustoasi.
Vinkki: Haluatko muuttaa asetusta koko paketillesi? Tee se mieluummin kohdassa Select PHP version (katso PHP-asetukset: upload_max_filesize, memory_limit ja max_execution_time). Näin kaikki asetukset ovat yhdessä paikassa, etkä myöhemmin unohda, että .htaccess-tiedostossa on vielä rivejä.
Eri PHP-version käyttäminen yhdelle kansiolle
Koko pakettisi käyttää versiota, jonka olet valinnut kohdassa Select PHP version. Jos haluat antaa yhdelle kansiolle (tai alidomainille, jolla on myös oma kansionsa) eri version, lisää kyseisen kansion .htaccess-tiedostoon:
<FilesMatch "\.(php)$">
SetHandler application/x-lsphp83
</FilesMatch>
lsphp-tekstin jälkeinen numero on versio ilman pistettä: 74 tarkoittaa PHP 7.4:ää, 82 PHP 8.2:ta, 83 PHP 8.3:a, 84 PHP 8.4:ää ja niin edelleen. Voit valita samoista versioista kuin kohdassa Select PHP version.
Käytätkö kyseisessä kansiossa laajennuksia tai asetuksia, jotka poikkeavat normaalista? Ne liittyvät versioon. Valitse silloin kohdassa Select PHP version väliaikaisesti kyseinen versio, aseta laajennukset ja asetukset, ja vaihda sen jälkeen pakettisi versio takaisin. Versiokohtaiset asetukset säilyvät tallessa.
Tarkista, että se toimii
- Luo kansioon tiedosto info-test.php, jossa on tämä yksi rivi: <?php echo PHP_VERSION, ' ', ini_get('memory_limit');
- Avaa se selaimessasi, esimerkiksi https://www.omadomain.fi/vanhakauppa/info-test.php. Näet PHP-version ja muistin.
- Poista tiedosto heti sen jälkeen. Älä jätä verkkosivustollesi testitiedostoja, jotka sisältävät tietoa palvelimestasi.
Mikä ei toimi?
- Oma php.ini -tiedosto kansiossasi ei vaikuta mihinkään. Käytä Select PHP version -toimintoa tai .htaccess-tiedostoa.
- disable_functions ja open_basedir -asetuksia ei voi muuttaa .htaccess-tiedostolla. Ne liittyvät palvelimen tietoturvaan.
- Arvot, jotka on asetettu PHP Instellingen -kohdassa domainin ylikirjoituksena (katso PHP Instellingen DirectAdminissa vai Select PHP version: mikä on ero?), ohittavat .htaccess-tiedoston asetukset.
