Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> Sprawdzenie czy strona odpowiada.
NickOver
post 15.12.2014, 15:57:26
Post #1





Grupa: Zarejestrowani
Postów: 332
Pomógł: 10
Dołączył: 13.03.2014
Skąd: Bydgoszcz

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


Cześć.
Mam skrypt który sprawdza stronę pod kątem wielu czynników, mn. czy odpowiada, jaki zwraca status, czy sa na niej warningi, errory itp.
Potrzebuję sprawdzić czas odpowiedzi serwera. Niestety problem pojawia się gdy strona nie odpowiada w ogóle. To znaczy strona jest ale np. ma pętle includów. Teraz moje pytanie. Jak to obejść.
Jedynym pomysłem był sleep lecz to by oznaczało że skrypt będzie zawsze czekał te 30 sec nawet jeśli strona załaduje się wcześniej.
Żadnego ajaxa uzyć nie mogę gdyz będzie odpalane to przez konsole.
Jakieś pomysły?
Dodam że wszystko dzieje się tam curlem.
Go to the top of the page
+Quote Post
markuz
post 15.12.2014, 16:00:47
Post #2





Grupa: Zarejestrowani
Postów: 1 240
Pomógł: 278
Dołączył: 11.03.2008

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


CURLOPT_TIMEOUT?

Ten post edytował markuz 15.12.2014, 16:01:11


--------------------
Go to the top of the page
+Quote Post
NickOver
post 16.12.2014, 15:48:22
Post #3





Grupa: Zarejestrowani
Postów: 332
Pomógł: 10
Dołączył: 13.03.2014
Skąd: Bydgoszcz

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


Niestety to co podałeś nie sprawdza się ponieważ zawsze zwraca true. Potrzebuję coś co zwraca zależnie od spełnienia warunku boole.
Go to the top of the page
+Quote Post
markuz
post 16.12.2014, 15:57:22
Post #4





Grupa: Zarejestrowani
Postów: 1 240
Pomógł: 278
Dołączył: 11.03.2008

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


Pokaż w jaki sposób użyłeś opcji CURLOPT_TIMEOUT


--------------------
Go to the top of the page
+Quote Post
NickOver
post 16.12.2014, 16:22:47
Post #5





Grupa: Zarejestrowani
Postów: 332
Pomógł: 10
Dołączył: 13.03.2014
Skąd: Bydgoszcz

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


curl_setopt($hand, CURLOPT_TIMEOUT, 30);
if(curl_exec($hand) == false)

Wczesniej ją vardumpowałem lecz niestety zawsze było true. W dokumentacji nic nie ma.
Go to the top of the page
+Quote Post
markuz
post 16.12.2014, 16:38:58
Post #6





Grupa: Zarejestrowani
Postów: 1 240
Pomógł: 278
Dołączył: 11.03.2008

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


Założenie było takie, że w przypadku gdy request będzie trwał powyżej 30 sekund ma go przerwać i o tym poinformować - zgadza się?
Ustawiasz CURLOPT_TIMEOUT na 30 (jak wyżej) i dalej informujesz o błędzie:
  1. $data = curl_exec($hand);
  2. if(curl_errno($hand) > 0)
  3. echo curl_error($hand);

I wtedy w przypadku "pętli includów" otrzymasz błąd:
Cytat
Operation timed out after X milliseconds with 0 bytes received

O to chodziło? Jeżeli nie to wytłumacz jeszcze raz.

Ten post edytował markuz 16.12.2014, 16:39:44


--------------------
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 Wersja Lo-Fi Aktualny czas: 9.07.2025 - 04:47