file_get_contents ne fonctionne pas sur le serveur de production, de beaux locaux

J'ai un script PHP qui récupère une image à partir d'un serveur distant afin que je puisse les manipuler à l'aide de HTML5 canvas API.

<?php
if ((isset($_GET['url']))) {
    $url = $_GET['url'];
    $file_format = pathinfo($url, PATHINFO_EXTENSION);
    try
    {   
        header("Content-Type: image/$file_format");
        header("Content-disposition: filename=image.$file_format");
        $img = file_get_contents($url);
        echo $img;
    }

    catch(Exception $e)
    {
        echo $e->getMessage();
    }
}

else die('Unknown request');
?>

Une demande de type ressemblerait à ceci:

fetch_image.php?url=http://example.com/images/image.png

Tout fonctionne très bien sur mon serveur local, mais le serveur de production me donne cette erreur:

NetworkError: 500 Erreur Interne Du Serveur.

Le journal des erreurs de registres de ce message:

PHP Warning: Cannot modify header information - headers already sent.

J'ai essayé quelques-uns des suggestions, mais sa ne fonctionne pas:

allow_url_fopen = 1
Veuillez coller le script complet (y compris <?php tags).
sonne comme un mauvais chemin chose
Ce que les lignes le message d'erreur point? Veuillez également envoyer le message d'erreur exact.
Si vous êtes juste de présenter une image sur le serveur distant avec pas de traitement supplémentaire, pourquoi ne pas rediriger vers cette image?
HTML5 canvas api ne permet pas de manipuler les pixels des images à partir d'un autre domaine.

OriginalL'auteur Q_Mlilo | 2011-07-18