Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP]przekroczony czas serwera
Forum PHP.pl > Forum > Przedszkole
ttomekb
witam
mam taki kod:

  1. <?php
  2.  
  3. ini_set('display_errors','1');
  4.  
  5. // dane do połączenia z bazą MySQL
  6. $mysql_host = 'xxx';
  7. $mysql_login = 'xxx';
  8. $mysql_haslo = 'xxx';
  9. $mysql_baza = 'xxx';
  10.  
  11. // połączenie z bazą danych
  12. $polaczenie = mysql_connect($mysql_host, $mysql_login, $mysql_haslo) or die('Błąd: nie udało się nawiązać połączenia z bazą danych.');
  13.  
  14. // połączenie ze schematem bazy danych
  15. mysql_select_db($mysql_baza) or die('Błąd: nie udało się wybrać schematu bazy danych.');
  16.  
  17. require_once 'class.avto.php';
  18.  
  19.  
  20. $urls = array(
  21. 'url',
  22. 'url',
  23. 'url',
  24. 'url',
  25. ... (tu 40.000 urli)
  26.  
  27.  
  28. );
  29.  
  30.  
  31. foreach($urls as $url) {
  32. działąnie
  33. działanie
  34. działanie
  35. );
  36.  
  37. $result = mysql_query($query);
  38.  
  39. var_dump($crawler->toArray());
  40. }
  41. ?>


problem polega na tym ze te 40000 url sprawdza tak długo ze po około 700 przerywa się działanie skryptu...
czy możecie mi pomóc zmodyfikować to tak aby jedno zapuszczenie skryptu przemieliło wszystkie url??
rad11
Probowales set_time_limit , max_execution_time?
nospor
A skad my mamy wiedziec, co sie kryje pod tymi magicznymi
działąnie
działanie
działanie

.....

Jedyne co ci moge napisac to
albo odpalaj to z crona co pare urli a nie wszystkie
albo zwieksz dlugosc wykonywania skryptu
ttomekb
Cytat(nospor @ 26.08.2014, 12:07:03 ) *
A skad my mamy wiedziec, co sie kryje pod tymi magicznymi
działąnie
działanie
działanie

.....

crawler pobiera dane ze strony i zapisuje do bazy
  1. [/php]
  2. $crawler = new AvtoCrawler($url);
  3. ++$id;
  4.  
  5. $query = sprintf(
  6. "INSERT INTO avto (id, url, image, schemat, description, price, categories0, categories1, categories2, categories3, categories4, active) VALUES ('%s', '%s', '%s','%s' ,'%s' ,'%s' ,'%s' ,'%s' ,'%s' ,'%s' ,'%s' ,'%s')",
  7. $id,
  8. $url,
  9. $crawler->getImage(),
  10. $crawler->getSchema(),
  11. $crawler->getDescription(),
  12. $crawler->getPrice(),
  13. $crawler->getCategories()[0],
  14. $crawler->getCategories()[1],
  15. $crawler->getCategories()[2],
  16. $crawler->getCategories()[3],
  17. $crawler->getCategories()[4],
  18. (int)$crawler->isActive()
  19. );
  20.  
  21. $result = mysql_query($query);
  22.  
  23. var_dump($crawler->toArray());[php]


set_time_limit , max_execution_time

tu raczej nie pomogą bo serwer jestustawiony tak a nie inaczej...
ctom
odpal to sobie w konsoli - problemu z timeoutem nie będzie

nie wiem co tam skanujesz ale jak jakiś serwis - to sprawdzaj sobie czasem czy serwer nie wyciął twojego IP
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.