Avatar billede webcreator Nybegynder
05. september 2006 - 12:26 Der er 19 kommentarer og
1 løsning

Error_reporting() forskellig fra phpinfo()

Hej Eksperter.

Jeg har via en .htaccess fil sat error_reporting til E_ALL. Denne ændring fremgår fint af phpinfo() under "Local Value". Men hvis jeg skriver error_reporting(), så returneres 0 - og en simpel test, hvor jeg forsøger at skabe en instans af en klasse med en privat konstruktør, giver ikke fejl som den burde, når E_ALL er sat til.

Er der nogen der har et bud på hvad der går galt? Jeg bruger PHP5.1.5 under FreeBSD
Avatar billede iss Novice
05. september 2006 - 13:09 #1
Husk Error_reporting() kun sætter i lige det script og efter fra hvor det kaldes, vil du sætte det mere globalt skal du sætte det i din .htaccess, og det vil du så kunne se med phpinfo().
Avatar billede webcreator Nybegynder
05. september 2006 - 13:20 #2
Du har vist ikke læst min post særlig grundigt ;)
Mit problem er netop at E_ALL ikke slår igennem for mit script, selv om det er sat i en .htaccess fil. Nok fremgår det af phpinfo() - men det virker ikke for mit script, ej heller for error_reporting()
Avatar billede iss Novice
05. september 2006 - 13:30 #3
Jeg troede din overskft var passenden... det var den så ikke... Men hvad du så gør galt er svært uden du lige kommer med et par links til bl.a. en phpinfo...
Avatar billede coderdk Praktikant
05. september 2006 - 13:51 #4
Nu ved jeg ikke lige hvad for en type fejl, men E_ALL er ikke alle fejl i PHP5, du skal også have E_STRICT med, hvis du vil fange alt...
Avatar billede webcreator Nybegynder
05. september 2006 - 13:52 #5
Det kan hurtig fikses - værs'go :
http://powerzone.dk/tmp/info.php
Avatar billede webcreator Nybegynder
05. september 2006 - 13:53 #6
coder > Jep, det ved jeg. Men den test jeg lavede var med E_ALL. Fejlen jeg genererede blev ikke vist med mindre jeg manuelt slog E_ALL til vha. error_reporting() - og det er som sagt på trods for, at phpinfo() siger at E_ALL er enabled.
Avatar billede webcreator Nybegynder
05. september 2006 - 13:54 #7
.htaccess filen er placeret i roden af webhotellets htdocs-folder - jeg går ud fra at ændringen gælder for alle subfolders.
Avatar billede coderdk Praktikant
05. september 2006 - 14:10 #8
Prøv under phpinfo(); at lave en show_source( __FILE__ ); og under den, prøv at fremprovokere din fejl så vi kan se hvad du gør :)
Avatar billede coderdk Praktikant
05. september 2006 - 14:11 #9
(For det lyder da noget underligt!)
Avatar billede webcreator Nybegynder
05. september 2006 - 14:46 #10
Det er hermed tilføjet i bunden. Hvis jeg skriver 'error_reporting(0)' i info.php nu, så fejler scriptet.
Avatar billede webcreator Nybegynder
05. september 2006 - 14:46 #11
Sorry, mente 'error_reporting(E_ALL)' og ikke '0'
Avatar billede webcreator Nybegynder
05. september 2006 - 15:24 #12
Faktisk giver serveren mig ikke engang fejl, hvis jeg kommer til at lave en fejl som nedenstående:

this->$_var = 123; // forkert notation
Avatar billede webcreator Nybegynder
05. september 2006 - 15:32 #13
'notation' skulle have været 'syntax'
Avatar billede webcreator Nybegynder
05. september 2006 - 15:37 #14
Hm, jeg slettede .htaccess filen, og nu får jeg i det mindste vist fejl-beskeder ved kode-fejl.

Min .htaccess fil :

php_value file_uploads 1
php_value post_max_size 500M
php_value upload_max_filesize 500M

php_value magic_quotes_gpc 0

php_value magic_quotes_runtime 0

php_value magic_quotes_sybase 0
php_value error_reporting E_ALL

(Jeg ved godt at værdierne for upload er lidt voldsomme :)
Avatar billede coderdk Praktikant
05. september 2006 - 16:33 #15
Prøv lige for sjov at skrive:

php_value error_reporting 2047
Avatar billede webcreator Nybegynder
05. september 2006 - 17:01 #16
Done. Og det virker sørme. Tusind tak for det. Jeg forstår det ikke helt, for jeg har brugt E_ALL på flere webhoteller, hvor det har virket perfekt. Så det undre mig lidt at den vil have tal-værdien for konstanten. Men bare det virker :)

Gider du smide et svar, Coder ? Og tak igen. Det var rart at få løst problemet :)
Avatar billede webcreator Nybegynder
05. september 2006 - 17:07 #17
Nu har jeg så lige et godt tillægsspørgsmål: Hvordan får jeg både E_ALL og E_STRICT med ?
Avatar billede coderdk Praktikant
05. september 2006 - 19:33 #18
http://dk.php.net/error_reporting

E_ALL = 2047
E_STRICT = 2048

E_ALL | E_STRICT = 4095

:)
Avatar billede webcreator Nybegynder
05. september 2006 - 20:37 #19
Tusind tak :)
Avatar billede coderdk Praktikant
05. september 2006 - 21:08 #20
det var så lidt :)
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