Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [PHP] Przepłnienie buffora?
sannin
post
Post #1





Grupa: Zarejestrowani
Postów: 308
Pomógł: 13
Dołączył: 31.10.2008

Ostrzeżenie: (0%)
-----


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.

Ten post edytował sannin 15.09.2009, 04:56:49
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 2)
Zyx
post
Post #2





Grupa: Zarejestrowani
Postów: 952
Pomógł: 154
Dołączył: 20.01.2007
Skąd: /dev/oracle

Ostrzeżenie: (0%)
-----


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ć.


--------------------
Specjalista ds. głupich i beznadziejnych, Zyx
Nowości wydawnicze: Open Power Collector 3.0.1.0 | Open Power Autoloader 3.0.3.0
Go to the top of the page
+Quote Post
sannin
post
Post #3





Grupa: Zarejestrowani
Postów: 308
Pomógł: 13
Dołączył: 31.10.2008

Ostrzeżenie: (0%)
-----


Akurat to nie to, dokładnie to sprawdziłem. Czas wykonania tej funkcji to 0.002 sek
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 22.08.2025 - 01:58