![]() |
![]() ![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 4 Pomógł: 0 Dołączył: 5.08.2012 Ostrzeżenie: (0%) ![]() ![]() |
Witam, nie mogę sobie poradzić z buforowaniem obrazka. Chciałbym, żeby był on w całości wysyłany do przeglądarki zanim zakończy się praca skryptu. Mam taki kod:
W obydwu przypadkach nie pojawia się on od razu w całości (obrazek ma 3.7KB). Brakująca część pojawia się dopiero po zakończeniu pracy skryptu. W tym drugim przypadku trochę mniej go brakuje ale wciąż nie pojawia się od razu cały... jakieś sugestie? (IMG:style_emoticons/default/co_jest.gif) |
|
|
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 6 476 Pomógł: 1306 Dołączył: 6.08.2006 Skąd: Kraków Ostrzeżenie: (0%) ![]() ![]() |
|
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 4 Pomógł: 0 Dołączył: 5.08.2012 Ostrzeżenie: (0%) ![]() ![]() |
Dodanie ob_flush() przed sleepem nic nie daje, nadal brakującą część pojawia się dopiero po zakończeniu pracy skryptu.
|
|
|
![]()
Post
#4
|
|
Grupa: Zarejestrowani Postów: 6 476 Pomógł: 1306 Dołączył: 6.08.2006 Skąd: Kraków Ostrzeżenie: (0%) ![]() ![]() |
|
|
|
![]()
Post
#5
|
|
Grupa: Zarejestrowani Postów: 4 Pomógł: 0 Dołączył: 5.08.2012 Ostrzeżenie: (0%) ![]() ![]() |
Trochę kombinowałem z tym ob_flush() i flush() ale to nie robi tego co powinno. Obrazek ładuje się w całości tylko dlatego, ze ob_flush generuje „Notice: ob_flush(): failed to flush buffer. No buffer to flush.” zaraz po wysłaniu obrazka (widać to gdy skrypt odpali się z terminala). Jeśli dam @ob_flush() albo wyłączę notice (a tak będzie na produkcyjnym) to nadal jest to samo, obrazek nie ładuje się cały.
Ma ktoś jakiś pomyśl, jak poprawnie zmusić ten skrypt do wyplucia całego obrazka gdy jest wyłączone raportowanie błędów? (IMG:style_emoticons/default/sciana.gif) |
|
|
![]()
Post
#6
|
|
Grupa: Zarejestrowani Postów: 6 476 Pomógł: 1306 Dołączył: 6.08.2006 Skąd: Kraków Ostrzeżenie: (0%) ![]() ![]() |
Zrobiłem prosty test: (Apache 2.2.x)
Efekt: Kod Start - 1344208985.1088 A przeglądarka oczywiście wyświetla kolejne fragmenty obrazka.Reading... 1344208985.1341 Reading... 1344208986.1352 Reading... 1344208987.1372 Reading... 1344208988.1402 Reading... 1344208989.1463 Reading... 1344208990.2127 Reading... 1344208991.2143 Closing - 1344208992.2164 Some extra code - 1344208994.2185 Sprawdź czy powyższy kod zadziała u Ciebie, jeżeli nie sugerowałoby to problemy z konfiguracją serwera HTTP, ale z tym już pomóc nie jestem wstanie. (IMG:style_emoticons/default/wink.gif) |
|
|
![]()
Post
#7
|
|
Grupa: Zarejestrowani Postów: 4 Pomógł: 0 Dołączył: 5.08.2012 Ostrzeżenie: (0%) ![]() ![]() |
Wielkie dzięki, rzeczywiście problem leży po stronie serwera (nginx) a nie po stronie php. Gdyby ktoś kiedyś miał z tym także problem to tu jest info jak zmniejszyc bufor w nginx: PHP NGINX OUTPUT FLUSHING
|
|
|
![]() ![]() |
![]() |
Aktualny czas: 23.08.2025 - 05:44 |