Gnomik
3.10.2006, 13:43:55
Witam! Otóż mam pewien problem który spędza mi sen z powiek. Mam napisaną aplikację (CMS) która generalnie działa i nie działa. Otóż w losowych momentach (choć zawsze przy zmianie strony), strona się wysypuje. Biały ekran, brak nawet najmniejszego komunikatu o jakichkolwiek błędach: poprostu biały ekran. Dopiero po odświeżeniu (F5) zawartość jest wyświetlana. Jest to o tyle dziwne, że dzieje się to naprawdę losowo. Niezależnie. Nie podpada pod schemat i próba wywołania problemu w ten sam sposób mija się z celem. Dla przykładu, klikanie w odnośnik do strony z tym właśnie odnośnikiem, po kilku kliknięciach (czasem jednym a czasem dwudziestym) wypluwa biały ekran. Wszystko dzieje się tylko i wyłącznie w przypadku przeglądarki IE. Co dziwniejsze, nie na wszystkich komputerach. Na to też schematu widać nie ma.
Liczę, że osoby których rozwiązaniem będzie: "Zmień przeglądarkę", zachowają taką odpowiedź dla siebie.
Używam Krasnala, wersji 2.7, czyli generalnie: Apache/1.3.31 (Win32) php/4.3.9 mod_gzip/1.3.26.1a
Chciałbym się dowiedzieć, czy wiecie moze w czym tkwi problem? Zależy mi żeby aplikacja działała niezależnie od przeglądarki - wybiórcze działanie nie wchodzi w grę. Widzi ktoś rozwiązanie tekiego problemu?
Pozdrawiam serdecznie,
Gnomik
W może problem tkwi w zapytaniach.
Jak masz dużą bazę to pozakładaj klucze
Gnomik
3.10.2006, 13:56:04
Problem nie występuje w żadnym sprecyzowanym momencie. Niezależnie czy wywoływane jest/będzie zapytanie SQL, niezależnie czy przekazywane są zmienne POST/GET. Poprostu całkiem bez powodu, pojawia mi się biały ekran a wyświetlanie źródła przestaje działać. Dopiero odświeżenie wyświetla stronę, która działa nieokreśloną ilość czasu/kliknięć, do czasu kolejnego felernego kliknięcia przy którym biały ekran razi me oczy.
No to mówie po prostu albo masz błędy w bazie albo w komunikacji
Gnomik
3.10.2006, 14:08:43
A ja mówię poprostu że stronka wypluwa błąd nawet gdy nie jest prowadzona komunikacja z bazą mysql. Czy to powrót do Index.php czy to wejście w któryś z działów, czy cokolwiek innego. Staram się właśnie wytłumaczyć że: strona 'psuje się' w momentach losowych. Gdyby psuło się w chwili zapytań do bazy - wiedziałbym o tym i błąd byłby w miare powtarzalny i nie występowałby w innych przypadkach.
Cytat(Gnomik @ 3.10.2006, 15:08:43 )

A ja mówię poprostu że stronka wypluwa błąd nawet gdy nie jest prowadzona komunikacja z bazą mysql. Czy to powrót do Index.php czy to wejście w któryś z działów, czy cokolwiek innego. Staram się właśnie wytłumaczyć że: strona 'psuje się' w momentach losowych. Gdyby psuło się w chwili zapytań do bazy - wiedziałbym o tym i błąd byłby w miare powtarzalny i nie występowałby w innych przypadkach.
A może serwer sie zje....ał
Gnomik
3.10.2006, 15:11:27
Na różnych komputerach o różnych konfiguracjach jest tak samo. Niezależnie czy to jest Krasnal na localhoscie czy wykupiny serwer. Na niektórych działa na niektórych nie...
Prosiłbym nie traktować mnie jak bezmózgie bydle które nie sprawdziło czy zamknięty jest nawias...
Cytat(Gnomik @ 3.10.2006, 16:11:27 )

Na różnych komputerach o różnych konfiguracjach jest tak samo. Niezależnie czy to jest Krasnal na localhoscie czy wykupiny serwer. Na niektórych działa na niektórych nie...
Prosiłbym nie traktować mnie jak bezmózgie bydle które nie sprawdziło czy zamknięty jest nawias...
Nic mi nie przychodzi więcej do głowy. Ale to w końcu to twój kod więc powinieneś wiedzieć co napisałeś
thornag
3.10.2006, 16:14:17
Hmm, napisz mi tylko czy zanim strona sie wysypie to musisz czekac czy robi sie to od razu ? jesli musisz poczekac moze masz gdzies petle ktora nie dochodzi do warunku skonczenia i kreci sie caly czas.
ale to by sie sypało chyba za każdym razem...
Gnomik
3.10.2006, 21:20:23
No właśnie nie muszę czekać - wysypuje się od razu. Poczyniłem pewne kroki w celu wyjasnienia tej sytuacji. Własciwie to wycinałem po kolei kod obserwując rezultaty (przypominało to trochę anegdotę o biologu odrywającym owadowi nogi i każącym iść: po oderwaniu ostatniej nogi mucha ogłuchła). W każdym razie, problem pojawia się dalej... ale. Obserwacje nie były daremne (w końcu do ostatniej nogi mucha chodziła):
- Problem wciąż występuje w losowym momencie (choć i nawet wtedy, zawsze jest to przy przeładowaniu strony, ale w inny sposób niż F5 / ctrl+F5)
- Problem pojawia się jeśli na początku kodu zostanie użyta funkcja: session_start()
- Problem NIE pojawia się jeśli parsowana jest większa ilość kodu (generalnie: wystarcza wyechować około 200 <br>'ów)
- Błąd pojawia sie lub nie, w zalezności od serwera (aktualnie ten sam kod i baza na jednym serwerze działa bez problemu, na innym problem wciąż się pojawia, i jak już pisałem - tylko pod IE)
- Kod jest poprawny (pozatym: gdyby nie był, dałoby się zauważyć schematycznośc występowania problemu i jego powtarzalność)
Jakies pomysły?
Ktoś sie z czymś takim spotkał kiedyś?
Pozdrawiam,
Gnomik
a nie masz przed session_start() znaczka "@"?
Gnomik
3.10.2006, 21:43:07
Nie przekleję tutaj kodu, bo nie mam go w domu niestety, ale wszytko sprowadza się do działania (i niedziałania) kodu mniej więcej:
Index.php:
<?php
echo "<a href='index.php'>Kliknij mnie Ty tłusty bydlaku!</a>"; ?>
Po wielokrotnym kliknięciu tego odnośnika, strona wypluje w pewnym momencie biały ekran. Co dziwne, w przypadku dodania do kodu zbędnych bajtów jak w przykładzie poniżej...
Index.php:
<?php
echo "<br><br><br><br><br><br><br><br><br><br><br><br><br><br>"; echo "<br><br><br><br><br><br><br><br><br><br><br><br><br><br>"; echo "<br><br><br><br><br><br><br><br><br><br><br><br><br><br>"; echo "<br><br><br><br><br><br><br><br><br><br><br><br><br><br>"; echo "<br><br><br><br><br><br><br><br><br><br><br><br><br><br>"; echo "<br><br><br><br><br><br><br><br><br><br><br><br><br><br>"; echo "<br><br><br><br><br><br><br><br><br><br><br><br><br><br>"; echo "<br><br><br><br><br><br><br><br><br><br><br><br><br><br>"; echo "<br><br><br><br><br><br><br><br><br><br><br><br><br><br>"; echo "<br><br><br><br><br><br><br><br><br><br><br><br><br><br>"; // etc.
echo "<a href='index.php'>Kliknij mnie Ty tłusty bydlaku!</a>"; ?>
... problem się nie pojawi. Więc... co jest?
Pozdrawiam,
Gnomik
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę
kliknij tutaj.