ERROR DE CURL: Error de grabación: Restablecimiento de la conexión por par - PHP Curl
Estoy teniendo este extraño error,ERROR DE CURL: Error de grabación: restablecimiento de la conexión por par
Así es como sucede, si no me conecté al servidor y de repente, tratando de conectarme al servidor a través de CURL en PHP, recibo el error. Cuando vuelvo a ejecutar el script CURL, el error desaparece y luego funciona bien todo el tiempo, si dejo el servidor remoto inactivo durante unos 30 minutos o reinicio el servidor remoto e intento conectarme de nuevo, recibo el error nuevamente. Así que parece que la conexión está inactiva y, de repente, el servidor se activa y luego vuelve a funcionar.
Así es como se ve mi script CURL.
<code>$url = Yii::app()->params['pdfUrl']; $body = 'title='.urlencode($title).'&client_url='.Yii::app()->params['pdfClientURL'].'&client_id='.Yii::app()->params['pdfClientID'].'&content='.urlencode(htmlentities($content)); $c = curl_init ($url); $body = array( "client_url"=>Yii::app()->params['pdfClientURL'], "client_id"=>Yii::app()->params['pdfClientID'], "title"=>urlencode($title), "content"=>urlencode($content) ); foreach($body as $key=>$value) { $body_str .= $key.'='.$value.'&'; } rtrim($body_str,'&'); curl_setopt ($c, CURLOPT_POST, true); curl_setopt ($c, CURLOPT_POSTFIELDS, $body_str); curl_setopt ($c, CURLOPT_RETURNTRANSFER, true); curl_setopt ($c, CURLOPT_CONNECTTIMEOUT , 0); curl_setopt ($c, CURLOPT_TIMEOUT , 20); $pdf = curl_exec ($c); $errorCode = curl_getinfo($c, CURLINFO_HTTP_CODE); $curlInfo = curl_getinfo($c); $curlError = curl_error($c); curl_close ($c); </code>
Estoy totalmente sin ideas y soluciones, por favor ayuda, lo apreciaré !!!
Si verifico la salida para ver que pasa usando
<code>curl_setopt ($c, CURLOPT_VERBOSE, TRUE); curl_setopt($c, CURLOPT_STDERR, $fp); </code>
Me sale lo siguiente
<code>* About to connect() to 196.41.139.168 port 80 (#0) * Trying 196.x.x.x... * connected * Connected to 196.x.x.x (196.x.x.x) port 80 (#0) > POST /serve/?r=pdf/generatePdf HTTP/1.1 Host: 196.x.x.x Accept: */* Content-Length: 7115 Content-Type: application/x-www-form-urlencoded Expect: 100-continue * Recv failure: Connection reset by peer * Closing connection #0 012 20:23:49 GMT < Server: Apache/2.2.15 (CentOS) < X-Powered-By: PHP/5.3.3 < Connection: close < Transfer-Encoding: chunked < Content-Type: text/html; charset=UTF-8 < * Closing connection #0 </code>
He agregado en el siguiente pie eliminar el encabezado predeterminado y aún así no tengo suerte:
<code>curl_setopt ($c, CURLOPT_HTTPHEADER, array( 'Expect:' ) ); > Accept: */* Content-Length: 8414 Content-Type: > application/x-www-form-urlencoded > > * Recv failure: Connection reset by peer > * Closing connection #0 r: Apache/2.2.15 (CentOS) < X-Powered-By: PHP/5.3.3 < Connection: close < Transfer-Encoding: chunked < > Content-Type: text/html; charset=UTF-8 < > * Closing connection #0 </code>