Ik ben bezig met het opzetten van een totaal systeem waarin een aantal applicaties zitten. Ik heb ondertussen al een deel van het cms en een mail applicatie.
Opeens is de applicatie er mee gestopt, ik krijg meteen een error 500 voor mijn neus. In de log bestanden krijg ik de melding PHP premature end of script headers. Er is dus verder geen enkele foutmelding, een linenumber of wat dan ook. Meteen daarna verschijnt de melding: php heeft een fout veroorzaakt in php4ts.dll. Het OS is WinME. Ik heb ook op andere systemen getest(w2k server) en daar gebeurt hetzelfde dus het is een scriptfout lijkt mij. Hoe pak je dit debuggen aan?
Ik heb geprobeerd om stukjes code er uit te knippen, en dat heeft wat resultaten opgeleverd:
Ik heb dit stukje verwijderd:
Het resultaat daarvan is dat de template engine(yapter v213b, v212 geeft een echt 500 terug waarschijnlijk omdat deze geen melding maakt van ongedeclareerde variablen) begint te zeuren over allerlei variablen die niet gedeclareerd zijn, logisch, maar daarna klapt het script er alsnog uit.
Hoe kan ik gaan zoeken naar de fout?
update:Ik heb net geprobeerd om een print_r van $_SESSION te doen en die wordt op de helft afgebroken waarna die PHP heet een fout veroorzaakt melding verschijnt.
Opeens is de applicatie er mee gestopt, ik krijg meteen een error 500 voor mijn neus. In de log bestanden krijg ik de melding PHP premature end of script headers. Er is dus verder geen enkele foutmelding, een linenumber of wat dan ook. Meteen daarna verschijnt de melding: php heeft een fout veroorzaakt in php4ts.dll. Het OS is WinME. Ik heb ook op andere systemen getest(w2k server) en daar gebeurt hetzelfde dus het is een scriptfout lijkt mij. Hoe pak je dit debuggen aan?
Ik heb geprobeerd om stukjes code er uit te knippen, en dat heeft wat resultaten opgeleverd:
Ik heb dit stukje verwijderd:
PHP:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
| /****APPLICATIONS MENU****/ /****HIDING UNUSED BLOCKS****/ foreach($_SESSION['applications'] as $appname => $apparray){ if($_SESSION['applications'][$appname]['intern']!=1){ /*PARSING menu*/ $tpl->set('menulink', './index.php?app='.$appname); $tpl->set('menutext', ucfirst(strtolower($apparray['menuname']))); $tpl->parse('menuitem'); } /*HIDING unused blocks*/ if($appname!=$_SESSION['application']){ $tpl->replace($appname, 'empty'); } } $tpl->parse('menu'); |
Het resultaat daarvan is dat de template engine(yapter v213b, v212 geeft een echt 500 terug waarschijnlijk omdat deze geen melding maakt van ongedeclareerde variablen) begint te zeuren over allerlei variablen die niet gedeclareerd zijn, logisch, maar daarna klapt het script er alsnog uit.
Hoe kan ik gaan zoeken naar de fout?
update:Ik heb net geprobeerd om een print_r van $_SESSION te doen en die wordt op de helft afgebroken waarna die PHP heet een fout veroorzaakt melding verschijnt.
[ Voor 44% gewijzigd door djluc op 16-08-2003 10:29 ]