Próbuję wyśledzić problem z wywołaniem cURL w PHP. Działa dobrze w naszym środowisku testowym, ale nie w naszym środowisku produkcyjnym. Kiedy próbuję wykonać funkcję cURL, po prostu się zawiesza i nigdy nie odpowiada. Próbowałem dokonać połączenia cURL z wiersza poleceń i to samo się dzieje.Jak mogę się dowiedzieć, dlaczego cURL zwisa i nie odpowiada?
Zastanawiam się, czy cURL rejestruje to, co się gdzieś dzieje, ponieważ nie potrafię rozgryźć, co dzieje się w czasie, gdy polecenie się kręci. Czy ktoś wie, czy istnieje dziennik, który śledzi, co się tam dzieje?
Myślę, że to problemy z łącznością, ale nasz informatyk nalega, że powinienem mieć do niego dostęp bez problemu. Jakieś pomysły? Używam CentOS i PHP 5.1.
Aktualizacje: Używając trybu szczegółowego, dostałem komunikat o błędzie 28 "Connect() Timed Out". Spróbowałem przedłużyć limit czasu do 100 sekund i ograniczyć maksymalne liczby przerwań do 5, bez zmian. Próbowałem pingować pudełko, a także dostałem timeout. Tak więc przedstawię to z powrotem do IT i zobaczę, czy znowu to zobaczą. Dzięki za całą pomoc, mam nadzieję, że wrócę za pół godziny z wiadomością, że to ich problem.
Aktualizacja 2: Okazało się, że moje pudełko rozwiązało nazwę serwera z zewnętrznym adresem IP. Kiedy dział IT dał mi wewnętrzny adres IP i zastąpiłem go w wywołaniu cURL, wszystko działało świetnie. Dzięki za pomoc wszystkim.
OK, to dało mi trochę więcej informacji, ale niewiele. Po prostu mówi: * Informacje o łączeniu się() z portem [nazwa serwera] 443 * Próba [adres IP serwera] ... Po prostu się zawiesza. Wydaje mi się, że jest to problem z łącznością. Jakieś inne myśli? Próbuję teraz odpowiedzi Pekki. – SenorPuerco
Dodano pewne szczegóły wiersza polecenia. Czy próbowałeś ustawić wyższy limit czasu, aby sprawdzić, czy kiedykolwiek wróci? Użyj 'set_time_limit (600)', aby ustawić na 10 minut –
Czy możesz pingować adres IP? Brzmi jak problem z siecią/zaporą. Jeśli nie możesz, możesz odesłać go bezpośrednio do swoich informatyków i poprosić o ich sortowanie! –