[apache/PHP] Kilkukrotne wywołanie tego samego skryptu

0

Witam.

Mam taki skrypt (nazwijmy go test.php):

header('Content-type: text/html; charset=UTF-8');

for ($i = 0; $i < 100; $i++ )
{
	echo 'Czekam ' . $i . '<br />';
	ob_flush();
	flush();
	sleep(5);
}

Przeprowadzam następującą operację:

  1. Odpalam w pierwszej zakładce skrypt test.php
  2. Odpalam w drugiej zakładce srkypt test.php
    W tym momencie w zakładce numer 1 widzę poprawny wynik wykonania skryptu, ale w drugiej nic nie zostaje wyświetlone. Jeżeli teraz zamknę pierwszą (działającą) zakładkę, to w drugiej zaczną się pojawiać linie tekstu świadczące o wykonywaniu skryptu.

Ale jeżeli w pierwszej zakładce odpalę skrypt.php, a w drugiej skrypt.php?dowolny=parametr, to w obu zakładkach skrypt się będzie wykonywać.

Moje pytanie jest następujące: czy to jest normalne i czy rozsądne będzie oprzeć na tym efekcie działanie aplikacji?

0

Kiedy potrzebujemy świeżych danych a pracujemy ze skryptami server-side częstą praktyką jest dodawania do URLi losowych parametrów ponieważ przeglądarki nie lubią się powtarzać i korzystają z cache'ów. W Twoim przypadku prawdopodobnie browser czeka na załadowanie pierwszej strony żeby nie ściągać jej dwa razy. Poza tym jeśli przeglądarka pokaże już zapisaną wcześniej stronę to nie doświadczysz efektu sleep.

0

Fakt. Po zrobieniu testu na kilku przeglądarkach na raz na każdej skrypt się wykonuje. Czyli trzeba będzie sobie poradzić w inny sposób. Dzięki wielkie.

0

zdradź co chcesz uzyskać, to może podpowiemy :)

0

Chciałem uzyskać niemożność dwukrotnego odpalenia tego samego skryptu. Ale już sobie poradziłem stosując flock na znanym pliku.
Pytałem się o to, bo myślałem, że to serwer jest taki mądry, a tu się okazało, że przeglądarka :)

1 użytkowników online, w tym zalogowanych: 0, gości: 1