Machen cURL-Ausgabe STDERR in eine Datei (oder string)

Wir versuchen zu Debuggen einige cURL-Fehler auf dem server, und ich würde gerne sehen, STDERR melden. Zur Zeit sehen wir für unsere Fehler "error code: 7", und wir können keine Verbindung zum Ziel-server. Wir haben kontaktiert der host und die spezielle Regel, die den port zu öffnen, die wir brauchen, und wir ignorieren das Zertifikat für die Zeit.

Trotzdem können wir uns nicht anschließen. Ich muss zum Debuggen, aber ich kann nicht sehen, alle sachdienlichen Informationen, die auf mein Ende.

Den Zeilen zu erwähnen, "VERBOSE" und "STDERR" sind die wichtigsten, denke ich. Nichts wird geschrieben $curl_log. Was mache ich falsch? Die folgenden Handbücher der Logik, das sollte richtig sein...

PHP im Einsatz:

<?php
$curl = curl_init();
$curl_log = fopen("curl.txt", 'w');
$url = "http://www.google.com";

curl_setopt_array($curl, array(
    CURLOPT_URL             => $url,        //Our destination URL
    CURLOPT_VERBOSE         => 1,           //Logs verbose output to STDERR
    CURLOPT_STDERR          => $curl_log,   //Output STDERR log to file
    CURLOPT_SSL_VERIFYPEER  => 0,           //Do not verify certificate
    CURLOPT_FAILONERROR     => 0,           //true to fail silently for http requests > 400
    CURLOPT_RETURNTRANSFER  => 1            //Return data received from server
));

$output = fread($curl_log, 2048);
echo $output; //This returns nothing!
fclose($curl_log);

$response = curl_exec($curl);
//...restofscript...
?>

Aus PHP-manual: http://php.net/manual/en/function.curl-setopt.php

CURLOPT_VERBOSE TRUE, um die Ausgabe ausführliche Informationen. Schreibt die Ausgabe auf STDERR
CURLOPT_STDERR Einem alternativen Speicherort, um Fehler bei der Ausgabe anstatt " STDERR.

Es ist nicht eine Erlaubnis erteilen, ich habe die Datei-und Skript-Berechtigungen 777 auf dem server und meinem lokalen client ist windows und hat nie kümmerte sich um die Einstellungen für die Zugriffsrechte (es ist nur für dev sowieso).

Ist das script vollständig? Ich Frage, weil ein curl_exec() fehlt. Und was ist die Ausgabe, die Sie erwarten (und warum)?
Oh, ja, ich fand, dass sich in meinem copy/paste. Setzen curl_exec zurück. Ich hoffe die bekommen irgendeine Art von debugging-Informationen, obwohl ich wirklich keine Ahnung habe, was von Ihr zu erwarten. Ich habe keine Ahnung, was die Ursache für die Verbindung zu einem Ausfall auf dem server.
Finden Sie ausführliche code-Beispiele in einer zugehörigen Antwort auf eine andere Frage, darunter tut dies im Speicher und nicht auf der Festplatte

InformationsquelleAutor Radley Sustaire | 2012-01-15

Schreibe einen Kommentar