CURL asılı ve tepkisiz neden ben nasıl öğrenebilirim?

4 Cevap php

PHP cURL çağrısı ile bir sorunu izini çalışıyorum. Bu ancak bizim üretim ortamında, test ortamında çalışıyor. Ben cURL fonksiyonunu yürütmeye çalıştığınızda, hemen kapatır ve hiç yanıt verir. Ben komut satırından bir cURL bağlantısı yaparak denedim ve aynı şey olur.

CURL yerde ne oluyor günlükleri eğer komut çalkalama ve çalkalama süresinde neler olduğunu anlamaya değil, çünkü ben, merak ediyorum. Orada ne oluyor izleyen bir günlük olup olmadığını biliyor mu?

Ben bağlantı sorunları olduğunu düşünüyorum, ama bizim IT adam ben bir sorun olmadan erişmek gerekir ısrar ediyor. Herhangi bir fikir? Ben CentOS ve PHP 5.1 koşuyorum.

Updates: ayrıntılı modunu kullanarak, ben bir hata 28 "Connect () Zaman Aşımına Uğradı" kazanılmış ettik. Ben bir değişiklik yok, 100 saniye zaman aşımı uzanan, ve 5 max-redirs sınırlayıcı çalıştı. Ben kutuyu ping denedim, ve aynı zamanda bir zaman aşımı var. Yani IT bu geri sunmak ve onlar yine de bakacağız görmek için gidiyorum. Tüm yardım için teşekkürler, umarım bu onların sorunu olduğunu haberlerle geri yarım saat olacak.

Update 2: Benim kutu dış IP adresi ile sunucu adı çözmek dışarı açar. BT bana iç IP adresini verdi ve ben cURL çağrısında yerini, her şey harika çalıştı. Tüm yardım herkes için teşekkürler.

4 Cevap

Senin php, sen CURLOPT_VERBOSE değişkeni ayarlayabilirsiniz:

curl_setopt($curl, CURLOPT_VERBOSE, TRUE);

Bu daha sonra STDERR, ya CURLOPT_STDERR (bir dosya işaretçisi alır) kullanarak belirtilen dosyaya kaydeder:

curl_setopt($curl, CURLOPT_STDERR, $fp);

Komut satırında, aşağıdaki anahtarları kullanabilirsiniz:

  • --verbose komut satırına daha fazla bilgi rapor
  • --trace <file> veya --trace-ascii <file> bir dosyaya iz

Sen --trace-time / dosya çıkışları verbose zaman damgaları prepend için kullanabileceğiniz

Eğer mümkünse kullanıcı PHP (muhtemelen bir Apache altında çalışan) altında çalışan gibi, sudo ING deneyin.

curl sorun, örneğin bir kullanıcı girişi gerektiren çeşitli nedenlerle, güvenilmeyen bir kök kullanıcı güvenilir sertifikaları önbellekte saklanır sertifika, ancak PHP bir olabilir. Bu durumda, komut olmuyor hiç bir giriş için bekliyor olacaktır.

Belki de bu geçerli değildir - Dışarıdan kullanarak exec kıvırmak çalıştırırsanız Update: bu geçerlidir.

Ayrıca özel transferi hakkında bilgi almak için () curl_getinfo kullanabilirsiniz.

http://in.php.net/manual/en/function.curl-getinfo.php

Eğer CURLOPT_MAXREDIRS ayarı denediniz mi? Ben bazen normal tarayıcı kullanıcı görmüyor bazı web siteleri için bir 'sonsuz' yönlendirme döngü olacağını buldum.