![]() |
![]() ![]() |
![]() |
![]() ![]()
Post
#1
|
|
![]() Grupa: Developerzy Postów: 823 Pomógł: 12 Dołączył: 18.12.2005 Ostrzeżenie: (0%) ![]() ![]() |
Witam.
Ostatnio natrafiłem na bardzo dziwny problem. Jak programuję kilka lat, tak to mnie zbiło z nóg. Mianowicie, za każdym razem uruchamiany jest plik index.php, który robi require_once Vframe.Class.php, który zawiera deklarację klasy Vframe. W losowych zupełnie przypadkach dla tych samych danych wejściowych requestu dostaję informację, że nie można redeklarować klasy Vframe. Co dziwne:
Nie mam zielonego pojęcia, co może być nie tak. Wycieki pamięci? PHP Version 5.2.5 (x64), serwer IIS7. -------------------- Portfolio: Vgroup.pl | athlan.pl | Test.php.pl - sprawdź się z wiedzy o PHP i ułóż własne pytania!
Pomogłem? Kliknij |
|
|
-krzotr- |
![]()
Post
#2
|
Goście ![]() |
|
|
|
![]()
Post
#3
|
|
![]() Grupa: Developerzy Postów: 823 Pomógł: 12 Dołączył: 18.12.2005 Ostrzeżenie: (0%) ![]() ![]() |
Wskazało plik Vframe.Class.php.
Zrobiłem dalsze testy, wsadziłem coś takiego:
Niestety, przy próbie załączenia pliku Vframe.Class.php wyskakuje ścieżka z die(). Jeżeli klasa by była już zadeklarowana, przynajmniej raz bym otrzymał na ekranie napis allright. Niestety się tak nie dzieje. Co więcej, po wyrzuceniu require_once z index.php dalsza część kodu wyrzuca informacje, że nie ma zdefiniowanej klasy Vframe. Oznaczałoby to, że plik Vframe.Class.php wykonuje samego siebie jeszcze raz, skoro nigdzie indziej nie ma deklaracji tej klasy. Niestety, nie może się to stać, bo w tym przypadku również bym otrzymał przynajmniej raz napis allright. Wykonałem dodatkowy test, zmieniłem nazwę klasy na VframeB, zeby przetestować ewentualne powiązania autoloadu z nazwą pliku. Nazwę zmieniłem również w przeklejonym wyżej kodzie testującym, okazało się, że problem jest ten sam! o.O -------------------- Portfolio: Vgroup.pl | athlan.pl | Test.php.pl - sprawdź się z wiedzy o PHP i ułóż własne pytania!
Pomogłem? Kliknij |
|
|
![]()
Post
#4
|
|
![]() Grupa: Moderatorzy Postów: 8 989 Pomógł: 1550 Dołączył: 8.08.2008 Skąd: Słupsk/Gdańsk ![]() |
Wstaw sobie na początku tego pliku
http://pl2.php.net/manual/pl/function.debu...t-backtrace.php to będziesz wiedział kto i gdzie includuje drugi raz twoją klasę. -------------------- |
|
|
![]() ![]() |
![]() |
Wersja Lo-Fi | Aktualny czas: 12.07.2025 - 22:44 |