Kjapp og trygg hosting for Wordpress

PHP virker ikke lenger

clinton4

Medlem
Jeg mente root folderen for nettsiden, så public_html er riktig. Har du satt ftp klienten til å vise skjulte filtyper? (ser du f.eks .htaccess filen?).

Hvis du ikke har en php.ini fil i public_html, så kan du se om du finner den i en av følgende mapper:

/etc/php/php.ini
/etc/php5/php.ini

Det er mulig php.ini ligger i en annen mappe, du finner den gjeldene stien til riktige mappen ved å kjøre echo phpinfo(); (men det går kanskje ikke hvis php er nede?).

Uansett, hvis du finner gjeldene php.ini fil på serveren, kan det hende det ligger en backup/default php.ini fil i samme mappe. Prøv å endre navnet på denne til php.ini og se om det løser problemet. Men husk å ta backup av den orginale php.ini før du gjør dette.

Så restarter du apache (service httpd restart).
 

adeneo

Medlem
Det adeneo sier betyr sikkert på kodersk at jeg har fått svaret, men ikke har gjort noe med det og at han ikke gidder å hjelpe før jeg har prøvd det :D

Neida, var bare ment som en spøk, jeg aner ikke hva som er feil.

Den browsercap feilmeldingen er veldig generell, og kan skyldes mange ting, men ville egentlig ikke tro at det har så mye med problemet å gjøre?

Ut i fra det første innlegget så ville jeg tro det var noe galt med mod_rewrite da en kjapp test hos meg viser at linkene fungerer slik de skal med den .htaccess filen, men det kan være forskjeller på hvordan hoster setter opp dette, så det kan være at akkurat de reglene ikke fungerer på akkurat den serveren og at det må små endringer til.

Får en del feilmeldinger, og jeg er ikke så sprek på PHP, men har nå lært meg at concatenation er fine saker, men man kan ikke starte en variabel med å forsøke å legge til noe, man må sette variabelen først og så legge til.

ikke bra:
Kode:
$innhald .= '<h2>Korleis får eg ein jobb, då?</h2>';
$innhald .= '<p>Den beste måten å få ein jobb på</p>';

bra:
Kode:
$innhald = '<h2>Korleis får eg ein jobb, då?</h2>';
$innhald .= '<p>Den beste måten å få ein jobb på</p>';

Når jeg retter opp det i alle variablene så fungerer det glimrende på min testserver, bortsett fra på forsiden hvor jeg får en del udefinerte variabler, noe som skyldes litt merkelig strukturering av hele php filen og bruk av variabler som ikke alltid eksisterer, men noen alfakrøller her og der "fikser" det (sånn nesten), og det har nok ikke noe med problemet ditt å gjøre.

Du bør gjøre noen enkle tester på serveren med et par små filer med bare noen enkle echo'er i, og se om du klarer å bruke rewrite til å skrive om de til querystrings osv. Dersom det ikke virker og dette er et vanlig webhotell bør du kontakte hosten og høre om de har noen spesielle løsninger eller om noe har blitt korrupt, de fleste hoster fikser slikt rimelig raskt dersom det er slik at feilen ligger på deres side.

Kom på noe annet, fungerer det når du bruker direkte linker, slik som:
Kode:
www.minside.no/index.php?trinn=3
eller er det både når du forsøker dette og:
Kode:
www.minside.no/3/
at det er problemer?

Dersom ingen av de virker er det ikke htaccess som er problemet, og dersom det riktige innholdet vises på forsiden så kjører PHP, da er det sannsynligvis superglobalen GET som det er noe feil med eller noe annet som gjør at verdiene ikke hentes fra GET.

Det kan være en god ide og legge til den linjen til Nukleuz ovenfor i htaccess, men med mindre du har gjort noe helt merkelig eller tastet inn helt feil adresse i nettleseren så ville jeg ikke tro at det hjelper stort, men det er mulig jeg tar feil.
 

Coulix

Medlem
Koden kunne definitivt vært bedre skrevet, men den skal kunne parses på en riktig oppsatt og oppdatert PHP konfigurasjon. .htaccess filen også, men den er tilknyttet apache konfigurasjonen for nettstedet. Den parses ikke f.eks. ved allowoverride none.

Hvis det er problemet, at undersidene dine på f.eks. /2/ ikke fører til trinn=2 så er problemet ditt tolkingen av .htaccess og da må enten verten skrive reglene inn i webområdets konfigurasjonsfil under apache, eller åpne igjen for .htaccess filer.

Seriøse nettstedsverter pleier å være behjelpelig med feilsøking av slikt når det ligger mistanke om feil rundt forventet serverfunksjonalitet.
 
Sist redigert:

adeneo

Medlem
Hvis den første fungere slik som den skal er problemet mod_rewrite, og det er enten noe feil med modulen, som må fikses av hosten i Apache, eller de reglene du bruker er ikke støttet, eller noe annet er i konflikt.

Det kunne være interessant å vite hvilken Apache versjon det er, og det finner du sikkert ut lettest ved å bruke "inspiser element" og for eksempel i Chrome så ligger det under network og header, og nesten helt nederst så står det server, og det står også som regel operativsystem, om suhosin er installert, hvilken versjon av PHP som brukes osv.

Du kan også ringe hosten og si at det er noe som ikke virker med mod_rewrite og be de teste modulen og sende deg en mail med tilbakemelding på om alt er som det skal være.

Du kan som tidligere nevnt prøve noen enkle rewrite's med noen små filer som bare hoster en enkel melding dersom alt virker, og slik teste om mod_rewrite virker, og således teste deg frem til hva som er problemet med .htaccess filen din. Jeg ville testet en helt vanlig rewrite først, og så prøvd med querystring for å se om GET henger med osv.
 

Tonny Kluften

Administrator
Det er flaut å si det, men jeg må nesten si det. Hosten påpekte akkurat for meg her at .htaccess var tom...

Jeg vet at jeg har lastet opp riktig fil + en annen for å teste. Det store spørsmålet er nå, hvor lastet jeg opp de og hvilket nettsted er det nå som har feil .htaccess...

Mamma mia, takk for hjelpa og beklager at dere har kastet bort tida på dette.
 

adeneo

Medlem
user-fault-error-funny-error-messages.jpg
 
Topp