PHP i Vortex

Vortex støtter kjøring av PHP-skript. Foreløpig ønsker vi ikke å skru på dette annet enn ved konkrete behov. 

NB. Dette gjelder pr. område innenfor en gitt Vortex-host. Dvs. at vi skrur på kun for de områdene der det er behov, og vi beholder samtidig kontrollen med hvor det befinner seg PHP-applikasjoner. Hvis dette er aktuelt for dere, ta kontakt med oss. PHP-versjonen som kjøres er den til enhver tid støttede versjonen fra Seksjon for applikasjon- og integrasjonsplattformer, for tiden PHP 7.3.

Begrensninger

Følgende tekniske begrensninger gjelder for kjøring av PHP i Vortex

  • Det er ikke mulig å gjøre noen form for skriving til eller oppretting av filer fra PHP.
  • Det er ikke mulig å kjøre noen form for eksterne programmer/kommandoer fra PHP-skript.
  • Åpning av filer fra PHP overstyres, slik at rettighetene som er satt i Vortex blir gjeldende.

PHP-applikasjoner

PHP-støtten i Vortex er ment som en hjelp til migrering av eksisterende løsninger og andre små-behov for PHP (enkle skript for mindre oppgaver o.l.). Vi tillater normalt ikke at større PHP-applikasjoner legges i Vortex. Eksempler slike applikasjoner er bloggverktøy som Wordpress, CMS-er og portalverktøy (Drupal), diskusjonsforum (phpbb), osv. Vortex er ikke en Apache-server og er ikke laget for å kjøre PHP, men er et selvstendig CMS i seg selv. Vi kan foreløpig ikke ta ansvar for sikkerhet og drift av slike PHP-applikasjoner og ønsker ikke at de kjører på serverene til Vortex.

Dersom du har behov for en PHP-applikasjon er det bedre å legge denne på et vanlig Apache-område som ikke videresendes til Vortex. Det er f.eks. mulig å la Apache(+PHP) håndtere et underområde, selv om du ellers bruker Vortex på resten av nettstedet ditt. Alternativt kan applikasjonen legges på en annen host. Kontakt www-drift på USIT dersom du har spørsmål rundt dette.

Hvordan kjøre PHP-skript i Vortex

For at en fil skal gjenkjennes som et kjørbart php-skript, må filtype være satt til text/php på Om-arkfanen. Hvis man laster opp filer med fil-endelsen .php, vil vi gjette denne filtypen hvis nettleseren ikke sier noe annet.

Les de påfølgende avsnittene for viktig informasjon rundt sikkerhet, rettigheter og annet i forbindelse med kjøring av PHP-skript i Vortex.

Rettigheter på php-filer

Vanligvis er det ikke noe behov for å beskytte tilgangen til å lese kildekoden til dokumenter i Vortex, men dette vil fort være annerledes for php-filer. Fordi php-filer fort kan inneholde sensitive data, anbefaler vi at man alltid sørger for å skru av leserett for disse, og istedet bruker rettigheten Kun lese transformert under "Avanserte rettigheter" på Rettigheter-arkfanen, for å gi brukerne tilgang.

Inkludering av filer fra php-skript

Det er mulig å lese andre filer fra php. For at dette skal være sikkert, gjelder følgende begrensninger:

  • Klienten autoriseres for kun lese transformert-rettighet (inkluderer også lese-rettighet) mot filene.

I praksis betyr dette at alle filer som inkluderes, bør ha samme rettigheter som php-skriptet. Dette gjøres enklest ved å samle alle filene i en mappe og bare sette rettigheter på mappa.

  • Filer som inkluderes må ha samme eier som skript-fila.

Dette kan fort være en litt slitsom begrensning hvis flere jobber sammen om å lage en php-løsning. I slike situasjoner kan det være viktig å vite at administratorer på ressurser har rett til å ta eierskap.

Vi tillater åpning av filer (og includes) med absolutte paths (altså som begynner med '/') og relative paths.

For å åpne filer med absolutte paths må følgende gjøres:

include($_SERVER["DOCUMENT_ROOT"] . "/path/til/fil");

PHP og tegnsett

Når man jobber med PHP, er det en stor fordel å bruke UTF-8 som tegnsett. PHP-motoren har satt utf-8 som standard tegnsett. Det betyr at hvis man ikke setter noe annet selv i skriptet, vil PHP rapportere "Content-Type: text/html;charset=utf-8" til nettleseren. I tillegg vil Vortex alltid gjette at php-filer har tegnsettet utf-8 (med mindre man overstyrer dette på Om-arkfanen), og dette har betydning for eksempel hvis man redigerer skriptet på Rediger kildekode-arkfanen.

Hvis man må, er det er det fortsatt mulig å bruke iso-8859 som tegnsett. Men da må man sette Content-Type-headeren selv i php-skriptet (og overstyre tegnsettet til filen på Om-arkfanen). I tillegg er det slik at eventuelle forms, som sender parametere til php, eksplisitt må sende disse utf-8-kodet. Dette gjøres ved å sette accept-charset="UTF-8" på form-taggen (dette virker dessverre ikke pålitelig i alle nettlesere).

Dekorering og PHP

Det er mulig å dekorere php-skript. Men det er ikke mulig å legge inn komponenter på php-skript. Ønskes denne funksjonaliteten, kan man i enkle tilfeller inkludere php-skriptet i en html-side, som forklart under.

Inkludering av php-skript i html-sider

Php-skript kan inkluderes i vanlige html-sider, ved å bruke komponenten "include:file virtual".

Publisert 31. mai 2007 09:57 - Sist endret 2. okt. 2019 13:42