Spørsmål og svar

Tilbake
Stikkord:  

Hvordan endrer jeg PHP-konfigurasjonen for mitt webhotell?
Dette innslaget i våre spørsmål og svar er beregnet på avanserte brukere, alt du gjør er på egen risiko og eget ansvar.

OBS! Hvis du endrer PHP-konfigurasjonen, så kan ting slutte å fungere, enten med en gang, eller på et senere tidspunkt. Se her for mer info om PHP-versjonene og webserverne.


Generelt

Standard PHP-konfigurasjon på våre webservere passer til de aller fleste behov. Hvis du vet at du har behov for endringer, så er det mulig for deg å endre på konfigurasjonen på eget ansvar. Eksempelvis kan det gjelde:

  • IonCube
  • Innstillinger for f.eks. feilmeldinger, tidssone, osv.
  • Begrensninger for ressursbruk, f.eks. minnebruk (memory_limit, post_max_size, upload_max_filesize), kjøretid (max_execution_time, max_input_time) og liknende, er det IKKE TILLATT å ØKE eller OVERSKRIDE.

I motsetning til løsninger basert på mod_php, så kan du ikke styre PHP-konfigurasjonen direkte via .htaccess.

Forsøker du å gjøre det, så vil du få "internal server error".

Hvis du gjør slike endringer og noe ikke fungerer, sjekk at du ikke har trykkfeil eller andre feil i innstillingene dine. Hvis du overhodet ikke får det til, overlat det til en ekspert, eller gå tilbake til vår standard konfigurasjon. Vi kan dessverre ikke gi brukerstøtte på slik avansert bruk.

Hvis du gjør øker eller overskrider begrensningene for ressursbruk (noe som ikke er tillatt), så kan vi bli nødt til å deaktivere PHP-koden som gjør det og/eller konfigurasjonsfilen som gjør det. Har du større behov enn det som dekkes av våre grenser, så bør du bruke dedikert server/virtuell privat server.

PHP-konfigurasjon kan endres på flere nivåer

  1. Kjøretidsnivå (i PHP-scriptet, PHP_INI_USER, PHP_INI_ALL, ini_set())
  2. Katalognivå (du bestemmer selv, PHP_INI_PERDIR, bruk user.ini)
  3. Systemnivå (sentralt oppsett, vi styrer, "Master value", PHP_INI_SYSTEM og vår php.ini)
  4. Hardkodet nivå (kompilering/installasjon av selve PHP, vi utfører ikke endringer i forhold til Debians oppsett)

PHPs websider har en egen oversikt over mulige innstillinger.

Konfigurasjon av typen PHP_INI_USER og PHP_INI_ALL kan settes i hvert enkelt script (eller i en include-fil) slik, uavhengig av PHP-versjon hos oss.


ini_set()

PHP_INI_USER
PHP_INI_ALL

De fleste henvendelser vi får om å endre variabler på systemnivå kan settes av programmerer/utvikler i programmet/scriptet med kall på ini_set(), og ikke bare det, det er veldig enkelt å se om en innstilling er gjort med ini_get().

Eksempel på bruk av ini_set()

<?php
  ini_set("display_errors",1);
  print(ini_get("date.timezone")."\n");
  ini_set("date.timezone","Europe/Berlin");
  print(ini_get("date.timezone")."\n");
?>

Hvis ditt behov er tidssone-konfigurasjon: erstatt Europe/Berlin med tidssonen du mener passer best. Standard for vår PHP er "Europe/Oslo".

Følgende variabler kan ikke justeres med ini_set():

  • max_execution_time
  • max_memory_limit
  • post_max_size

.user.ini

PHP_INI_PERDIR
PHP_INI_USER

Noen innstillinger kan ikke gjøres i programmer/script. Lager du din egen .user.ini i www-mappen, behøver du kun legge inn de konfigurasjonsinnstillingene du ønsker å endre på, i motsetning til med egen php.ini, hvor du også må legge inn de du ikke bruker.

Det kan ta inntil fem (5) minutter før en endring av .user.ini trer i kraft.

Eksempel på bruk av .user.ini

display_errors = On
date.timezone = "Asia/Jakarta"

Hvis ditt behov er tidssone-konfigurasjon: erstatt Asia/Jakarta med den tidssonen som du mener passer best. Se også PHPs tidssone-liste.


Utvidelser/tillegg (extensions)

Flere utvidelser kan installeres lokalt på ditt webhotell og lastes gjennom en modifisert php.ini. De kan ikke lastes via .user.ini.

Vi tilbyr ikke brukerstøtte for slike utvidelser, selv om en veldig hyggelig kundebehandler kanskje hjalp deg første gangen.

En del slike utvidelser er såkalte PHP-akseleratorer eller "optimizers", som essensielt tilbyr to typer tjenester for deg:

  1. Teoretisk ytelsesforbedring
  2. Obfuskering/kryptering av kildekode

Den teoretiske ytelsesforbedringen vil ofte slå ut i tapt ytelse, fordi akseleratorene antar at PHP kjører som integrert, optimaliserbar kode (mod_php) i selve webserveren. Hos oss kjører PHP som CGI under uWSGI av sikkerhetsgrunner, og da er det hovedsakelig den andre typen tjeneste som kan være interessant for deg.

Noen få PHP-programmer vil kunne kreve at du har installert f.eks. IonCube, dette får du informasjon om hos din programvareleverandør. Vi gir ikke brukerstøtte til slike utvidelser.

Eksemplene nedenfor er der for å gjøre det litt lettere for deg, og du kan bruke de som generelle eksempler på hvordan du legger til utvidelser, men alt du gjør er på egen risiko og eget ansvar.


IonCube

OBS: Vi gir ikke brukerstøtte til IonCube. Brukere av PHP trenger ikke egen php.ini, vi anbefaler at du velger IonCube i kontrollpanelet vårt istedenfor, dette finner du ved å klikke på "Se på/endre" til høyre for "PHP". Endringen tar 10-30 minutter.

Du kan ikke ha egen php.ini samtidig. Dette er en forenkling for at du skal slippe å finne ut av hvordan du legger inn IonCube i php.ini.


Zend Optimizer/Zend Guard Loader

OBS: Vi gir ikke brukerstøtte til Zend Guard. Zend Guard fins ikke for PHP 7.x og nyere, og vi tilbyr derfor ikke installasjon av det mer.

Hvis du opplever problemer med Zend Guard, kontakt din programvareleverandør for oppgradering av produktet til støtte for PHP 8.


PECL-/PEAR-tillegg (f.eks. Imagick)

Imagick og mange andre tillegg er forhåndsinstallert og aktivert sentralt.

Du kan få en liste over sentralt installerte og aktiverte PECL-/PEAR-tillegg med phpinfo() eller Unix-kommandoen pecl l og/eller pear llogin.domeneshop.no.

Du står fritt til å installere andre PECL-tillegg til ditt eget webhotell. Dette gjør du på egen risiko. Vi tilbyr ikke hjelp til slike spesialkonfigurasjoner.

Egne utvidelser

Hvis du trenger egen utvidelse, så tillater PHP at du oppgir fullstendig sti til modulen i php.ini, slik at du kan ha både våre systeminstallerte moduler og de du velger å installere selv. Det betyr at du kan bruke f.eks.:

extension=/home/1/m/mittnavn/min_utvidelse.so

Dette er også på egen risiko og ansvar.


Se også:

© 2024 Domeneshop AS · Om oss · Vilkår · Personvern