Gå til innhold

Ikke vise php-feilmeldinger


Anbefalte innlegg

Hvordan hindrer jeg php-fila i å sende ut feilmeldinger som dette til besøkende:

 

Warning: file_get_contents(http://url) [function.file-get-contents]: failed to open stream: HTTP request failed! HTTP/1.1 500 Internal Server Error in /usr/home/web/file.php on line 5

 

At brukeren kan se en slik feilmelding, reduserer sikkereheten på websiden min betydelig!

 

Takk for svar :)

Lenke til kommentar
Videoannonse
Annonse
sett en @ framfor.

 

Eksempel

 

 @file_get_contents() 

 

EDIT : Leste ikke posten din så godt. dabear har rett :D

8045439[/snapback]

så med en @ foran file_get_contents() så er det 100% sikkert at det ikke blir returnert feilmelding til besøkende?

Lenke til kommentar
Var den feilmeldinga et eksempel, eller var det en faktisk feilmelding fra siden din?

 

Du prøver jo å hente data fra en ugyldig nettadresse - eller slik ser der iallefall ut.

 

http://no.php.net/@

8045681[/snapback]

 

Det var en faktisk feilmelding fra siden min. Grunnen til at feilmeldingen kan oppstå er at file_get_contents() varierer etter hva brukerene skriver i en form, eller hvis den aktuelle siden er nede.

Lenke til kommentar

For det første så skal en nettside ALDRI generere verken warnings eller noticer, om den gjør det så har du programmert feil!

 

Og ved å bruke error_reporting eller @ så fjerner du ikke feilen, bare meldingen.

Du bør kjøre error_reporting(E_ALL) og få fjernet alle feil.

 

Om du vil logge feilene i en tekst-fil kan du jo gjøre det, og slå av visning av feil (ini_set("display_errors, true);)

Lenke til kommentar
For det første så skal en nettside ALDRI generere verken warnings eller noticer, om den gjør det så har du programmert feil!

 

Og ved å bruke error_reporting eller @ så fjerner du ikke feilen, bare meldingen.

Du bør kjøre error_reporting(E_ALL) og få fjernet alle feil.

 

Om du vil logge feilene i en tekst-fil kan du jo gjøre det, og slå av visning av feil (ini_set("display_errors, true);)

8047353[/snapback]

error_reporting( E_ALL | E_STRICT );

Lenke til kommentar
For det første så skal en nettside ALDRI generere verken warnings eller noticer, om den gjør det så har du programmert feil!

 

Og ved å bruke error_reporting eller @ så fjerner du ikke feilen, bare meldingen.

Du bør kjøre error_reporting(E_ALL) og få fjernet alle feil.

 

Om du vil logge feilene i en tekst-fil kan du jo gjøre det, og slå av visning av feil (ini_set("display_errors, true);)

8047353[/snapback]

 

hvordan velger jeg hvilken fil det skal bli lagret i, da? :)

Lenke til kommentar
ini_set("log_errors", true);

ini_set("error_log", "/path/til/fil.log");

8049199[/snapback]

altså dette kan ikke gjøres i .php-fila, men må gjøres inni ei .ini fil?

8049705[/snapback]

Fordelen med å eventuelt sette de i php.ini er vel at innstillingene da gjelder for alle php-filer på serveren. Det jeg lurer på er om det går an å overstyre php.ini for en hel katalog, ikke bare for enkeltfiler? Eventuelt hvordan man gjør det?

Lenke til kommentar
  • 2 uker senere...

ey folks. mens vi er inne på temaet "å overstyre php.ini"

 

hva konkret må jeg skrive for å få denne til å fungere i praksis?

php_value memory_limit "16M"

 

hvor skal jeg skrive det?

hvordan?

Kan jeg få et eksempel?

Endret av ntec
Lenke til kommentar
php_value direktiv hører hjemme i .htaccess filer. Evt. så kan du bruke ini_set(), som vist ovenfor.

8150082[/snapback]

 

skal jeg bare sette dette øverst i phpfila?

 

ini_set(php_value memory_limit "16M");

 

?

Lenke til kommentar

Opprett en konto eller logg inn for å kommentere

Du må være et medlem for å kunne skrive en kommentar

Opprett konto

Det er enkelt å melde seg inn for å starte en ny konto!

Start en konto

Logg inn

Har du allerede en konto? Logg inn her.

Logg inn nå
  • Hvem er aktive   0 medlemmer

    • Ingen innloggede medlemmer aktive
×
×
  • Opprett ny...