![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 275 Pomógł: 32 Dołączył: 17.06.2007 Ostrzeżenie: (0%) ![]() ![]() |
Opisze Wam jak to dzis odnalazłem prawdopodobnie buga w php, i niech mi ktos powie czy to jest mozliwe, gdyz myslalem ze php jest tak napisane, ze cos takiego sie nie powinno zdarzyc.
Otóż wybierałem sobie z bazy sporą liczbe rekordów (6 000 + ich pasujace odpowiedniki z innej tabeli, czyli razem cos jakbym mial tablice 6000 x 20 elementów, gdzie nie bylo wiekszej kolumny od VARCHAR 255), i potem mialem je wyświetlic w polu <SELECT>. jako ze kiedystam zmienialem sposob wybierania rekordow, to zostaly mi w skrypcie zle "odwolania" do elementow tablicy. i tak zamiast $dane['nazwa_firmy'] wybieralem cos w rodzaju $dane['firmy']['nazwa_firmy']. kod byl mniej wiecej taki: Kod foreach ($tablica as $dane) { $tekst.='<option value="'.$dane['id'].'">'.$dane['firmy']['nazwa_firmy'].'</option>'; } echo $tekst; Zgodnie z logika spodziewalem sie pustych <option>-ów, i po czesci tak wlasnie bylo, ale do pewnego momentu: Kod <option value="4312"></option><option value="4313"></option><option value="4314"></op="3316"></option><option value="3317"></option><option value="3318"></option> po chwili numerki leciały juz dalej <option value="4316"></option> itd.. ale przy ktoryms zamknieciu znowu wygladalo to tak: Kod </op="3316"></option> (znowu dokleił sie znikad ten sam kawałek kodu) potem jeszcze kolejny raz, za to w innym miejscu pojawiło mi się Kod </op<!DOCTYPE html PUBLIC ..... i cała reszta początku strony Strone buforuje przed wyswietleniem, podejrzewam ze stamtad pobralo mi ten kawalek i wepchalo go gdzies posrodku zmiennej $tekst. Zmienna $dane podejrzewam ze miala ok 6MB, wygenerowana tresc (HTML w buforze) mial ok 10MB, zmienna $tekst ok 8-9MB. w php.ini limit pamieci 128MB albo 64MB. Spotkał sie ktos z czyms takim? Zeby wybierało cuda z pamieci przy odwolywaniu sie do nieistniejacej zmiennej? |
|
|
![]() ![]() |
![]() |
Aktualny czas: 21.08.2025 - 06:26 |