Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP] Przepłnienie buffora?
Forum PHP.pl > Forum > Przedszkole
sannin
Witam,

czy w php jest możliwe coś takiego jak przepełnienie bufora? Nie wiem dokładnie jak to działa, ale w galerii coppermine mamy coś takiego,

Cytat
// Start output buffering
ob_start('cpg_filter_page_html');


z tego co rozumiem cała zawartość strony (kod html) przed wygenerowaniem jest wrzucany do bufora, po zakończeniu zostaje on wysłany do przeglądarki. Już mówię dlaczego pytam... do wczoraj galeria działała dobrze, ale dosyć wolno... dlatego postanowiłem zmodyfikować skrypt tak, że za pomocą funkcji file() pobiera dane z plików css i js po czym wrzuca je w head pliku index.html (mniej zapytań, widać dużą różnice w czasie ładowania strony). Niby działało pięknie, ale dzisiaj wystąpiły problemy w 90% wejść na stronę po 15 sek ładowania serwer zwracał Internal Server Error, w pozostałych 10% zapytanie do serwera trwało około 12 sek (sprawdzałem firebugiem, nie była to wina łącza serwera, a czas wykonywania skryptu). Po wgraniu starych plików problem nie ustąpił... dopiero gdy wyczyściłem plik index.php i wpisałem w nim
Kod
echo 'a';
odświeżyłem kilka razy i wgrałem oryginalny plik zaczęło działać. Dodam, że plik js i css to około 100 tys kodu. Na myśl przyszło mi coś takiego jak przepełnienie bufora, ale czy coś takiego istnieje? Serwer w loga zwracał przekroczenie czasu wykonywania skryptu, ale nie jest to możliwe z tego względu że czas jest ustawiony na 30 sek, a serwer padał po około 15.

Jakieś sugestie bo nie mam pomysłów? Z góry dzięki za pomoc.
Zyx
100 tys. linijek... i próbujesz to przez file() wczytać? Ty zdajesz sobie sprawę, co robi ta funkcja, prawda? To teraz pomyśl, ile dodatkowo roboty musi ona wykonywać, by te oba pliki dzielić na tablicę i ile pamięci się dodatkowo marnuje, by to wszystko w formie tablicy przechować.
sannin
Akurat to nie to, dokładnie to sprawdziłem. Czas wykonania tej funkcji to 0.002 sek
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.
Invision Power Board © 2001-2025 Invision Power Services, Inc.