Spørgsmål og svar

Tilbage
Hvordan ændrer jeg PHP-konfigurationen for mit webhotel?
Dette indslaget i vores spørgsmål og svar er beregnet på avancerede brugere, alt du gør er på egen risiko og eget ansvar.

OBS! Hvis du ændrer PHP-konfigurationen, så må ting slutte at fungere, enten med en gang, eller på et senere tidspunkt. Se her for info om PHP 5.6, og her for info om PHP 7.0/7.1/7.2.


Generelt

Standard PHP-konfiguration på vores webservere passer til de aller flæste behov. Hvis du ved at du har behov for ændringer, så er det mulig for dig at ændre på konfigurationen på eget ansvar. Eksempelvis må det gælde:

  • IonCube
  • Indstillinger for f.ex. fejlmældinger, tidssone, osv.
  • Begrænsninger for ressourcebrug, f.ex. mindebrug (memory_limit, post_max_size, upload_max_filesize), køretid (max_execution_time, max_input_time) og liknende, er det IKKE TILLAT at ØGE eller OVERSKRIDE.

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

Forsøger du at gøre det, så vil du få "internal server error".

Hvis du gør sådanne ændringer og noget ikke fungerer, tjek at du ikke har trykkfejl eller andre fejl i indstillingene dine. Hvis du overhodet ikke får det til, overlat det til en ekspert, eller gå tilbage til vores standard konfiguration. Vi må dessverre ikke give brugerstøtte på så avanceret brug.

Hvis du gør øger eller overskrider begrænsningene for ressourcebrug (noget som ikke er tillat), så må vi blive nødt til at deaktivere PHP-koden som gør det og/eller konfigurationsfilen som gør det. Har du større behov end det som dekkes af vores grænser, så bør du bruge dedikert server/virtuel privat server.

PHP-konfiguration må ændres på flere niveauer

  1. Køretidsniveau (i PHP-scriptet, PHP_INI_USER, PHP_INI_ALL, ini_set())
  2. Katalogniveau (du bestemmer selv, PHP_INI_PERDIR, brug user.ini)
  3. Systemniveau (sentralt opsætning, vi styrer, "Master value", PHP_INI_SYSTEM og vores php.ini)
  4. Hardkodet niveau (kompilering/installation af selve PHP, vi udfører ikke ændringer i forhold til Debians opsætning)

PHPs websider har en egen oversigt over mulige indstillinger.

Konfiguration af typen PHP_INI_USER og PHP_INI_ALL må settes i hveret enkelt script (eller i en include-fil) så, uafhængig af PHP-version hos os.


ini_set()

PHP_INI_USER
PHP_INI_ALL

De flæste henvendelser vi får om at ændre variabler på systemniveau må settes af programmerer/udvikler i programmet/scriptet med kall på ini_set(), og ikke bare det, det er veldig enkelt at se om en indstilling er gjort med ini_get().

Eksempel på brug af 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 dit behov er tidssone-konfiguration: erstat Europe/Berlin med tidssonen du mener passer bedst. Standard for vores PHP er "Europe/Oslo".

Følgende variabler må ikke justeres med ini_set():

  • max_execution_time
  • max_memory_limit
  • post_max_size

.user.ini

PHP_INI_PERDIR
PHP_INI_USER

Nogle indstillinger må ikke gøres i programmer/script. Lager du din egen .user.ini i www-mappen, behøver du kun lægge ind de konfigurationsindstillingene du ønsker at ændre på, i motsetning til med egen php.ini, hvor du også skal lægge ind de du ikke bruger.

Det må tag indtil fem (5) minutter før en ændring af .user.ini trer i kraft.

Eksempel på brug af .user.ini

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

Hvis dit behov er tidssone-konfiguration: erstat Asia/Jakarta med den tidssonen som du mener passer bedst. Se også PHPs tidssone-liste.


php.ini

Fordi PHP hos os kører gennem uWSGI, så har du muligheden til at lave din egen php.ini, og dermed styre også indstillingene af typen PHP_INI_SYSTEM og php.ini. Når du skal gøre ændringer skal du laste ned og ændre vores standard php.ini for PHP 5.6 eller for PHP 7.0.

Det må tag indtil tretti (30) minutter før en ændring af php.ini trer i kraft.

Ikke lag din egen php.ini uden at tage med alle vores konfigurerte variabler!

Du lager din egen php.ini så:

  1. Last ned og kopier vores standard php.ini for PHP 5.6 eller for PHP 7.0 til dit webhotel, f.ex. /home/2/m/mittnavn/php.ini. Filen bør ikke være lesbar for andre. Ikke lag din egen php.ini fra bunden af.
  2. Egen php.ini skal ligge på roten i brugerens hjemmemappe eller docroot (mappen det peges til når man bruger skjult www-videresendelse).
  3. Modifiser indholdet så det passer for dig.
  4. Ændringer af .user.ini og php.ini registreres ikke umiddelbart, men efter henholdsvis 5 og 30 minutter.
  5. Støtte for IonCube Loader må aktiveres i kontrolpanelet for webhotellet. Det vil da ikke være mulig at bruge egen php.ini. Dette er at foretrekke fremfor at fortsætte at bruge egne php.ini-filer og egne tillæg.
  6. Følg med på ændringer vi gør i vores php.ini!

Du må tjekke at du har fået lastet din egen php.ini ved at tjekke konfigurationsindstillingene med phpinfo(), der vil verdien "Loaded Configuration File" vise navnet på konfigurationsfilen, der er lastet. Hvis f.ex. "/etc/php5/embed/php.ini" vises istedenfor, så gik det ikke bra. Tjek at du skrev ind rigtig i php.ini, og prøv igen.

Hvis du får en "internal server error"-fejlmælding, så har du sandsynligvis gjort noget fejl, f.ex. ved at sætte en indstilling som ikke er gyldig, bruge fejl filrettigheder (PHP-script hos os skal ikke være skrivbare for andre), eller liknende.


Utvidelser/tillæg (extensions)

Flere utvidelser må installeres lokalt på dit webhotel og lastes gennem en modificeret php.ini. De må ikke lastes via .user.ini.

Vi tilbyder ikke brugerstøtte for sådanne utvidelser, selv om en veldig hyggelig kundebehandler måske hjalp dig første gangen.

En del sådanne utvidelser er såkaldte PHP-akseleratorer eller "optimizers", der essensielt tilbyder to typer tjenester for dig:

  1. Teoretisk ydelsesforbedring
  2. Obfuskering/kryptering af kildekode

Den teoretiske ydelsesforbedringen vil ofte slå ud i tabt ydelse, fordi akseleratorene antar at PHP kører som integrert, optimaliserbar kode (mod_php) i selve webserveren. Hos os kører PHP som CGI under uWSGI af sikkerhedsgrunder, og da er det hovedsakelig den andre typen tjeneste som må være interessant for dig.

Nogle få PHP-programmer vil kunde kræve at du har installeret f.ex. IonCube, dette får du information om hos din programvareudbyder. Vi giver ikke brugerstøtte til sådanne utvidelser.

Eksemplene nedenfor er der for at gøre det lidt lettere for dig, og du må bruge de som generelle eksempler på hvordan du legger til utvidelser, men alt du gør er på egen risiko og eget ansvar.


IonCube

IonCube

OBS: Vi giver ikke brugerstøtte til IonCube. Brugere af PHP trenger ikke egen php.ini, vi anbefaler at du velger IonCube i kontrolpanelet vores istedenfor, dette finder du ved at klikke på "Se på/ændre" til højre for "PHP". Ændringen tar 10-30 minutter.

Du må ikke have egen php.ini samtidig. Dette er en forenkling for at du skal slippe at finde ud af hvordan du legger ind IonCube i php.ini.


Zend Optimizer/Zend Guard Loader

Zend Guard Loader for PHP 5.6

OBS: Vi giver ikke brugerstøtte til Zend Guard. Zend Guard fins ikke for PHP 7.x, og vi tilbyder derfor ikke installation af det mere.

Hvis du har PHP 5.6 og oplever problemer med Zend Guard, tjek brugermanualen/dokumentationen for din programvare og Zend Guard Loader, og hvis nødvendig, kontakt din programvareudbyders kundeservice.


PECL-/PEAR-tillæg (f.ex. Imagick)

Imagick og mange andre tillæg er forhåndsinstalleret og aktiveret sentralt.

Du må få en liste over sentralt installerte og aktiverte PECL-/PEAR-tillæg med phpinfo() eller Unix-kommandoen pecl l og/eller pear llogin.domaeneshop.dk.

Du står frit til at installere andre PECL-tillæg til dit eget webhotel. Dette gør du på egen risiko. Vi tilbyder ikke hjælp til sådanne specialkonfigurationer.

Egne utvidelser

Hvis du trenger egen utvidelse, så tillader PHP at du oppgir fuldstændig sti til modulen i php.ini, så du må have både vores systeminstallerte moduler og de du velger at installere selv. Det betyder at du må bruge f.ex.:

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

Dette er også på egen risiko og ansvar.


Se også:

Søgeord:  

Indholdsfortegnelse

© 2019 Domeneshop AS · Om os · Vilkår · Fortrolighedspolitik