Avatar billede _k Nybegynder
18. januar 2003 - 16:45 Der er 15 kommentarer og
1 løsning

Manglende error beskeder

Har lige skiftet webserver og i denne forbindelse er error-meddellelserne man får, når der er fejl på en php-side, forsvundet :o(

Mit spørgsmål går på om det er en server- eller browserting jeg skal rette i? Det er en Red Hat server med proxy (hvilket er nyt i forhold til den gamle)
Avatar billede jakoba Nybegynder
18. januar 2003 - 16:59 #1
du kan sætte niveauet for fejlmeldinger med error_reporting
http://dk.php.net/manual/en/function.error-reporting.php

fx:
error_reporting (E_ALL);  // så får du alt der går blot en smule galt

men find dit eget niveau
Avatar billede jakoba Nybegynder
18. januar 2003 - 17:03 #2
du kan også sætte den i din php.ini fil så det gælder for alle scripts:

error_reporting= E_ALL    ; display all errors, warnings and notices
Avatar billede _k Nybegynder
18. januar 2003 - 17:04 #3
Det virker desværre ikke :o(

Hvis siden virker, bliver den vist fint, ellers er siden total blank - også selvom jeg slår error_reporting til....
Avatar billede jakoba Nybegynder
18. januar 2003 - 17:14 #4
Det var besynderligt.
kan du vise koden på den side?
Avatar billede _k Nybegynder
19. januar 2003 - 12:20 #5
Fejlen er på alle sider som har den mindste PHP-fejl. Hvis koden er korrekt, bliver de vist fint, hvis der er fejl, er siden blank.

php.ini indeholder linjen error_reporting = E_ALL - vel at mærke uden at det virker...
Avatar billede jakoba Nybegynder
19. januar 2003 - 13:23 #6
der er diverse andre fejl-relaterede værdier i php.ini
hvilke værdier har:
  display_errors
  display_startup_errors
  log_errors
  track_errors
  error_log
hvis der er angivet en mappesti til 'error_log' så check om den den sti findes.
Avatar billede _k Nybegynder
19. januar 2003 - 14:36 #7
error_reporting E_ALL & ~E_NOTICE
display_errors: on
display_startup_errors: off
log_errors: syslog
track_errors: on
error_log: syslog

Kan det være display_startup_errors den er gal med?
Avatar billede jakoba Nybegynder
19. januar 2003 - 14:50 #8
næppe. de foregår jo før php begynder at fortolke koden så den ville fejl ikke have nogen effekt.

prøv at ændre 'log_errors' og 'error_log'
log_errors: off      // slå logging fra
; error_log: syslog  // udkommenteret med ; tegn

Jeg mener der findes Windows-versioner der supporterer 'syslog', men det er mestendels en Unix ide, så jeg vil ikke regne med den i windows.

PS: alle de inifiler jeg har set bruger '=' (lighedstegn) imellem attributnavn og attributværdi. Er du sikker på det er ok at bruge ':' (kolon) der?

mvh JakobA
Avatar billede _k Nybegynder
19. januar 2003 - 16:55 #9
PHP kører på en Red Hat/Apache server, så det er Linux og ikke Windows vi snakker.

Ved du om semikolon også kan bruges til at slå funktioner fra dér?

Og kan du udelukke at problemet skyldes den proxy som nu også kører på serveren? (de websider jeg tilgår sniger sig uden om cachen og bliver fint opdaterede)
Avatar billede jakoba Nybegynder
19. januar 2003 - 17:04 #10
desværre. jeg kender ikke svaret på nogen af de 2 spms.

kik i den sample php.ini fil der følger med php, det er som regel nemt at se hvad der er kommentar og hvad der bruges som kode. hvis der står ';' foran kommentarerne allevegne er den nok ok, ellers prøv med det der ellers står foran.

jeg kan ikke udelukke det, men det lyder usandsynligt.

har du prøvet at kikke i din syslog om der kommer noget der? med  log_errors=syslog  er det det eneste sted der skrives en fejlmelding før scriptet dør.

prøv alligevel at sætte  log_errors=off
Avatar billede jakoba Nybegynder
19. januar 2003 - 17:07 #11
bruger du output bufferering på dine sider?
Avatar billede _k Nybegynder
19. januar 2003 - 21:15 #12
Har sat mig lidt ind i de overordnede php-indstillinger, og det gav pote. Et par enkelte indstillinger(omkring display_error), og nu opfører serveren sig som den skal :o)

Mange tak for at sparke mig i den rigtige retning - point til dig!
Avatar billede jakoba Nybegynder
19. januar 2003 - 21:27 #13
takker :-)
Avatar billede styrk Nybegynder
28. januar 2007 - 23:30 #14
Hejsa, jeg har netop samme problem - kan du fortælle mig hvad præcist du gjorde?
Avatar billede _k Nybegynder
31. januar 2007 - 14:58 #15
Sorry men spørgsmålet er 4 år gammelt, og jeg har ærlig talt glemt præcis hvordan problemet skulle løses. Men mon ikke det var noget med at få de rigtige linjer sat ind i php.ini (altså display_error) og restarte Apache serveren?
Avatar billede styrk Nybegynder
31. januar 2007 - 15:36 #16
jeg har fundet ud af det, jeg havde sat error reporting til E_ALL samt displey errors til On, problemet var at displey_errors er åbenbart case sentisive, så jeg skulle bare skrive On med lille o, altså on.

Håber det gav mening ;p
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester