Witam,
mam problem z użyciem funkcji curl. Na localhoście działa wszystko jak należy, a na serwerze (home.pl) niestety nie.

Przy pobieraniu np. 15 stron na localhoscie wszystko działa jest ok. Na serwerze już przy ponad 4 zwraca puste wyniki, od czego to zależy? Jak sprawdzić jaki błąd wyskakuje i jak to poprawić?


  1. $mh = curl_multi_init();
  2. $chs = array();
  3. if (!isset($output[$world])) $output[$world] = array();
  4. for ($page = 1; $page <= 5; $page++) {
  5. $chs[$page] = curl_init();
  6. curl_setopt($chs[$page], CURLOPT_URL, $url = sprintf('http://www.webdesign.org/photoshop/special-effects/page-%d.html', $page));
  7. curl_setopt($chs[$page], CURLOPT_RETURNTRANSFER, true);
  8. curl_setopt($chs[$page], CURLOPT_FRESH_CONNECT, true);
  9. curl_setopt($chs[$page], CURLOPT_TIMEOUT, 60);
  10. curl_multi_add_handle($mh, $chs[$page]);
  11. }
  12.  
  13. do {
  14. $mrc = curl_multi_exec($mh, $active);
  15. } while ($active);
  16.  
  17. for ($page = 1; $page <= 5; $page++) {
  18. if (isset($output[$world][$page]))
  19. continue;
  20.  
  21. $out = curl_multi_getcontent($chs[$page]);
  22. if($out!=null) echo 'JEST';
  23. else echo 'Brak:(';
  24. }


Nie wiem czy to coś podpowie. Gdy wywołuję funkcję curl_error($chs[$page]) to tam gdzie jest pusty wynik zwraca: Could not resolve host: (nil); Unknown error
Szukałem na google coś o podanym błędzie to nic mi to nie dało. Nie jest to problem strony ani ograniczenia jakiegoś dostępu z danego IP bo na innych stronach występuje ten sam problem - 4 pobrane www i koniec.

Funkcja curl_errno($chs[$page]) zwraca zawsze 0.

Próbowałem znaleźć gdzieś w konfiguracji php znaleźć może jakieś ograniczenia po stronie mojego serwera, ale podane info o curl to:
cURL support enabled
cURL Information libcurl/7.24.0 OpenSSL/1.0.0g zlib/1.2.6 libssh2/1.3.0

Ktoś może ma jakąś chociaż podpowiedź?

Jeszcze jedna sprawa, w FAQ znalazłem, że maksymalna ilość procesów równoległych to 4 (MaxCGI) - czy to może być to?
Jeżeli tak, to jak można to obejść najprościej?