Dette punktet i våre spørsmål og svar er beregnet på avanserte brukere, teknikere og programmerere.
Vi gjør oppmerksom på at vi dessverre ikke kan gi kundestøtte til slik programmering.
PHP har en del innebygde mekanismer som gjør det mulig å debugge feil, her er noen tips for å komme igang.
Logging til fil
Du har ikke tilgang til webserverens egen feillogg, men kan konfigurere PHP til å logge sine feil for deg. Se også vår oversikt over vanlige feilsituasjoner, den kan spare deg for en del arbeid.
Detaljert informasjon om feillogging i PHP finner du i PHPs brukerdokumentasjon for feilfunksjoner.
Vi tillater også kunder å gjøre noen konfigurasjonsendringer via .user.ini
, error-logging skal være blant det som går an å stille inn der, f.eks. slik (husk å bytte ut /home/1/m/mittnavn med ditt hjemmeområdes navn):
error_log = /home/1/m/mittnavn/php-error.log
Ditt hjemmeområdes navn finner du i kontrollpanelet for det aktuelle domenet under fanen Webhotell → Webhotell tilgjengelig via
Logging av denne typen kan gjøre PHP litt tregere, og vær obs på at det kan fylle opp plassen på webhotellet om du ikke skrur den av eller fjerner filen regelmessig.
PHP har også funksjonalitet for å logge feil direkte til feillogg fra forskjellige steder i koden.
Vi anbefaler her å logge til en spesifikk fil for å unngå forvirring med error-loggingen konfigurert i .user.ini
.
Direkte visning av feil
Hvis du skrur på code>display_errors og display_startup_errors
, så vil feil vises direkte i nettleser eller i kommandolinje (se nedenfor), hvis det er mulig.
Dette er funksjonalitet som bare må brukes for testing, da det kan avsløre hemmeligheter om din nettside, som f.eks. passord brukt til databasen.
I .user.ini
:
display_errors = 1
display_startup_errors = On
WordPress-spesifikk debugging
I WordPress er det også mulig å skru på egen debugging i wp-config.php
:
/**
* For utviklere: WordPress-feilsøkingstilstand.
*
* Sett denne til "true" for å aktivere visning av meldinger under utvikling.
* Det er sterkt anbefalt at innstikks- og tema-utviklere bruker WP_DEBUG
* i deres utviklermiljøer.
*/
define('WP_DEBUG', false);
Endre false
til true
for å få vist feilmeldinger.
Testing på vår login-server
Som kunde med Webhotell Medium eller større har du også tilgang til Unix shell på vår login-server. Der kan du test-kjøre dine PHP-programmer fra kommandolinjen, og se hva de gjør. Vær varsom så du ikke bruker for mye ressurser, login-serveren brukes av mange andre.
Testing med egen php.ini
For å teste egen php.ini
på kommandolinjen, må du fortelle PHP at den skal bruke denne. Eksempelet nedenfor antar at du har bash som shell og at php.ini
ligger i ditt hjemmeområdes hovedmappe.
export PHPRC=$HOME/
Denne kommandoen må kjøres før du kjører php-programmet, men trenger kun kjøres i starten av hver innlogging. Du kan også legge den inn i din .bashrc
for å slippe å huske på den.
Testing på egen/ekstern webserver
Hvis du ønsker å teste PHP på egen server eller server hos en annen leverandør enn oss, så må den være konfigurert nokså likt. Vi vil gjøre spesielt oppmerksom på følgende elementer som kan utgjøre forskjeller fra andres oppsett:
PHP 5.6
- Operativsystem: Debian Jessie, 64-bit x86
- Webserver: Apache 2.4
- Moduler: ModSecurity, mod_evasive, mod_access_compat
- PHP 5.6 vassal under uWSGI emperor
- Vår php.ini, men se også
phpinfo()
for detaljer.
PHP 7.0
- Operativsystem: Debian Stretch, 64-bit x86
- Webserver: Apache 2.4
- Moduler: ModSecurity, mod_evasive, mod_access_compat
- PHP 7.0 vassal under uWSGI emperor
- Vår php.ini, men se også
phpinfo()
for detaljer.
Det kan også være andre forskjeller, vi kjenner ikke til alle andres konfigurasjoner. Vi kan ikke hjelpe til med å sette opp egen webserver eller til å konfigurere andres webservere.