Curl Error: Recv Failure: Connection Reset by Peer - PHP Curl

CURL ERROR: Recv failure: Connection reset by peer - PHP Curl


Introduction

The remote server has sent you a RST packet, which indicates an immediate dropping of the connection, rather than the usual handshake.

Possible Causes

A. TCP/IP

It might be a TCP/IP issue you need to resolve with your host or upgrade your OS most times connection is closed with remote server before it finished downloading the content resulting in Connection reset by peer.....

B. Kernel Bug

Note that there are some issues with TCP window scaling on some Linux kernels after v2.6.17. See the following bug reports for more information:

https://bugs.launchpad.net/ubuntu/+source/linux-source-2.6.17/+bug/59331

https://bugs.launchpad.net/ubuntu/+source/linux-source-2.6.20/+bug/89160

C. PHP & CURL Bug

You are using PHP/5.3.3 which has some serious bugs too ... I would advise you to work with a more recent version of PHP and CURL

https://bugs.php.net/bug.php?id=52828

https://bugs.php.net/bug.php?id=52827

https://bugs.php.net/bug.php?id=52202

https://bugs.php.net/bug.php?id=50410

D. Maximum Transmission Unit

One common cause of this error is that the MTU (Maximum Transmission Unit) size of packets travelling over your network connection has been changed from the default of 1500 bytes.
If you have configured a VPN this most likely must changed during configuration

D. Firewall: iptables

If you don't know your way around these guys they can cause some serious issues .. try and access the server you are connecting to check the following

  • You have access to port 80 on that server

Example

 -A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 80 -j ACCEPT`
  • The Following is at the last line not before any other ACCEPT

Example

  -A RH-Firewall-1-INPUT -j REJECT --reject-with icmp-host-prohibited 
  • Check for ALL DROP, REJECT and make sure they are not blocking your connection

  • Temporary allow all connection as see if it foes through

Experiment

Try on a different server or on a remote server ( So many free cloud hosting online) and test the same script. If it works then my guesses are correct ... You need to update your system

Others Code Related

A. SSL

If Yii::app()->params['pdfUrl'] is a url with https not including proper SSL settings can also cause this error in old version of curl

Resolution: Make sure OpenSSL is installed and enabled then add this to your code

curl_setopt($c, CURLOPT_SSL_VERIFYPEER, false);
curl_setopt($c, CURLOPT_SSL_VERIFYHOST, false);

PHP CURL Error - curl: (56) Recv failure: Connection reset by peer

I remember facing the same issue a long time back. While I don't remember what exactly sorted out the issue, I remember trying the following:

  1. I was trying to pass the query parameters in the URL directly and I tried passing through POST method

  2. I tried using a proxy with curl to see if I was possibly being blocked by the other server

  3. I believe I also asked my host to look into it and they made some Apache setting changes

Recv failure: Connection was reset in Curl PHP


curl_setopt($ch, CURLOPT_URL, trim($url));
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, 0);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, 0);

For Recv failure: Connection was reset in Curl PHP ==>
Declare like this :

CURLOPT_SSL_VERIFYPEER as 0 

& make sure that you are using PHP version >5.3

curl: (56) Recv failure: Connection was reset

Check which port curl uses and whether it is blocked by the firewall or not.
Also check whether the port on the app accepts requests.



Related Topics



Leave a reply



Submit