Hoi,
Ik heb sinds vandaag een probleem waar ik redelijk wanhopig van wordt. De hele dag heb ik al lopen debuggen maar het probleem wordt daar voor mij alleen maar onbegrijpelijker door. Wellicht heeft het probleem niet direct met php te maken maar met linux of zelfs php, maar ik denk dat ik in dit forum de grootste kans op een oplossing heb.
De situatie
Hoewel ik het bijna niet kan geloven lijkt het probleem in een stukje HTML te zitten. Als ik dat output (binnen normale XHTML1 strict) dan gaat het mis. Als ik dat verwijder dan werkt het testscript goed. Ik heb dit inmiddels 8x getest.
Of ik zie echt iets heel stoms over het hoofd (daar zit bij mij meestal het probleem) of dit zaakje stinkt. Iemand enig idee?
Ik heb sinds vandaag een probleem waar ik redelijk wanhopig van wordt. De hele dag heb ik al lopen debuggen maar het probleem wordt daar voor mij alleen maar onbegrijpelijker door. Wellicht heeft het probleem niet direct met php te maken maar met linux of zelfs php, maar ik denk dat ik in dit forum de grootste kans op een oplossing heb.
De situatie
- Ik heb mijn eigen framework gebouwd.
- Ik heb 4 websites die allen van hetzelfde framework gebruik maken. Een site begint bij index.php waar een .ini ingeladen wordt, waarna het framework de rest doet.
- Ik laat al mijn output door php parsen, dus ook css/js/images etc
- Deze output wordt zoveel mogelijk en meerlaags lokaal gecached, iedere website heeft dus zn eigen cache.
- Alle sites draaien op dezelfde server.
- Sessies blijven niet behouden maar worden geheel of gedeeltelijk gereset.
- Er verschijnen heel soms foutmeldingen van php die niet terecht zijn. Het probleem zit vaak steeds in andere files, als ik ctrl-f5 (zonder iets te wijzigen) is de error weer opgelost of zit ie ergens anders. Het lijkt soms wel of bestanden niet goed door php worden ingelezen (vaak unexpected end ed)
- Dit probleem treedt bij 1 website op, de rest heeft nergens last van.
- Ik kan niet meer achterhalen wat ik deed waardoor het misging. Ik heb wel eens eerder last gehad van dit probleem, echter toen leek het vanzelf te zijn opgelost. Ik had ook wat dingen aangepast maar ik weet niet of het daaraan lag...
- Ik heb een testscriptje gemaakt waarin ik echo of de sessie bestaat, en steekproefsgewijs check ik of ie compleet is. Als ik dit scriptje ga zitten F5en dan is ie steeds om-en-om in orde. Dus iets als: OK -> Leeg -> OK -> Incompleet -> OK -> Leeg.....
- Als ik direct na de session_start() meet is alles in orde
- Als ik de HTML van de pagina niet output gaat alles ook ok, ook als ik andere data output (hello worlds ed)
- Als ik een klein stukje uit de HTML verwijder werkt alles ok. Als dit stukje erin zit dan gaat het weer mis. Zelfs als ik js uitschakel.
- De HTML die het probleem lijkt te veroorzaken is (volgens mij) hele normale html (valideert ook prima), al jaren in gebruik bij al mijn sites, nooit problemen mee gehad.
Hoewel ik het bijna niet kan geloven lijkt het probleem in een stukje HTML te zitten. Als ik dat output (binnen normale XHTML1 strict) dan gaat het mis. Als ik dat verwijder dan werkt het testscript goed. Ik heb dit inmiddels 8x getest.
HTML:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
| <div id="login_image_holder"><img id="login_image" src="/icon_login.jpg" title="Beveiliging: Onbeveiligd" alt=""/></div> <form id="normal_screen" action="/" method="post" enctype="multipart/form-data"> <fieldset> <legend>Inloggen</legend> <label for="username">Gebruikersnaam:</label> <input type="text" id="username" name="username" size="10" maxlength="254" value="" /> <label for="password">Wachtwoord:</label> <input type="password" id="password" name="password" size="10" value="" /> <span class="hidden" id="salt1_change"></span> <span class="hidden" id="salt2_change"></span> </fieldset> <fieldset class="submit"> <input type="submit" class="inputSubmit" value="Inloggen" /> <input type="hidden" name="submit_login" value="true" /> </fieldset> </form> <form id="openid_screen" action="/" method="post" enctype="multipart/form-data" class="hidden"> <fieldset> <legend>Inloggen met OpenID</legend> <label for="openid_username"><img src="/themes/kiem/icons/openid_2.gif" /> OpenID:</label> <input type="text" id="openid_username" name="openid_username" size="10" maxlength="254" value="" /> </fieldset> <fieldset class="submit"> <input type="submit" class="inputSubmit" value="Inloggen" /> <input type="hidden" name="submit_openid" value="true" /> </fieldset> </form> |
Of ik zie echt iets heel stoms over het hoofd (daar zit bij mij meestal het probleem) of dit zaakje stinkt. Iemand enig idee?