Faire du roulage de sortie STDERR dans un fichier (ou une chaîne)

Nous essayons de debug cURL erreurs sur le serveur, et je voudrais voir le STDERR journal. Actuellement, tout ce que nous pouvons voir de nos erreur "code d'erreur: 7" et que l'on ne peut pas se connecter au serveur cible. Nous avons pris contact avec l'hôte et fait règle spéciale pour ouvrir le port dont nous avons besoin et nous sommes même en ignorant le certificat pour le moment.

Encore, on ne peut pas se connecter. J'ai besoin de débogage, mais je ne peux pas voir les informations pertinentes sur ma fin.

Les lignes de mentionner "VERBOSE" et "STDERR" sont les plus importantes, je pense. Rien n'est écrit à $curl_log. Ce que je fais mal? Suivant les manuels de logique, ce devrait être correct...

PHP en cours d'utilisation:

<?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...
?>

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

CURLOPT_VERBOSE fidèle à la sortie des informations détaillées. Écrit sortie STDERR
CURLOPT_STDERR Un emplacement alternatif pour les erreurs de sortie à la place de STDERR.

Il n'est pas un problème de permission, j'ai mis le fichier de script et de permissions à 777 sur le côté serveur et mon client est windows et n'a jamais soucié des paramètres d'autorisation (c'est uniquement pour le dev de toute façon).

Est le script complet? Je demande, car un curl_exec() est manquant. Et quelle est la puissance que vous attendez (et pourquoi)?
Oh, ouais je l'ai fait dans mon copier/coller. Mettre curl_exec de retour dans. J'espère obtenir une sorte de débogage de l'information, bien que vraiment je n'ai aucune idée à quoi s'attendre de lui. Je n'ai aucune idée de ce qui est à l'origine de l'échec de la connexion sur le serveur de fin.
Vous pouvez trouver code-exemples dans une réponse à une autre question, y compris faire cela en mémoire et non sur le disque

OriginalL'auteur Radley Sustaire | 2012-01-15