2017-07-18 12 views
6

php7ボックスで以下のコードを実行し、netstatを使用して10個の接続がCLOSE_WAIT状態になっています。しかし、私は別のphp7ボックスで同じコードを実行すると、それは正常です。php7のcurl_closeが動作しないのはなぜですか?多くのCLOSE_WAIT接続があります

<?php 

for($i = 0; $i < 10; ++$i){ 
     $ch = curl_init(); 
     curl_setopt ($ch, CURLOPT_URL, "http://www.baidu.com"); 
     curl_setopt ($ch, CURLOPT_HEADER, 0); 
     curl_setopt ($ch, CURLOPT_RETURNTRANSFER, 1); 
     curl_exec($ch); 
     $return = curl_exec ($ch); 
     curl_close ($ch); 
     echo $i."\n\n"; 
} 

sleep(10000); 

php7とosバージョンはまったく同じです。おそらく、正しく設定されていないシステムパラメータがいくつかあると思います。あなたはこれを調べるためのいくつかのヒントを提供できますか?

+0

を追加します。両方のボックスには、カールの同じバージョンを持っていますか? – jbsmoove

+0

@jbsmoove curl version on box 1:curl 7.19.7(x86_64-redhat-linux-gnu)libcurl/7.19.7 NSS/3.21基本ECC zlib/1.2.3 libidn/1.18 libssh2/1.4.2。パッケージ2のカールバージョン:curl 7.19.7(x86_64-redhat-linux-gnu)libcurl/7.19.7 NSS/3.27.1 zlib/1.2.3 libidn/1.18 libssh2/1.4.2 – Felix

答えて

0

私は、これはPHP CURL with proxy causes CLOSE_WAIT on socket

TLの重複だと思う; DR - curl_setopt($ch, CURLOPT_HTTPHEADER, array("Connection: close"));

+0

ありがとう。実際、その質問は私によって答えられました:)。ソリューションを歩くことは、ヘッダーを追加することですが、私はこれの根本的な原因を知りません。 – Felix

+0

OSがソケットリソースを閉じないように私に聞こえます。 –

関連する問題