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ć?
$mh = curl_multi_init(); for ($page = 1; $page <= 5; $page++) { $chs[$page] = curl_init(); curl_setopt($chs[$page], CURLOPT_URL, $url = sprintf('http://www.webdesign.org/photoshop/special-effects/page-%d.html', $page)); curl_setopt($chs[$page], CURLOPT_RETURNTRANSFER, true); curl_setopt($chs[$page], CURLOPT_FRESH_CONNECT, true); curl_setopt($chs[$page], CURLOPT_TIMEOUT, 60); curl_multi_add_handle($mh, $chs[$page]); } do { $mrc = curl_multi_exec($mh, $active); } while ($active); for ($page = 1; $page <= 5; $page++) { continue; $out = curl_multi_getcontent($chs[$page]); }
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?