1

あなたが助けてくれることを願っています...

サボテンのセットアップと実行は完璧です。クライアントにサボテンのグラフを提供したいので、そのためのスクリプトを用意しました。ただし、グラフを取り込むことができません。スクリプトはセットアップされ、サボテンと通信していますが、実際のグラフは表示されません。

ここで問題を確認できます - http://noc.dediport.com/cacti/switchporttranslate.php?host4&switchport=Fa0/1&period=daily

グラフが表示されているはずです。これは、スクリプトの作成者から得た応答です。

次のステップは、サボテン側です。http://noc.dediport.com/cacti/switchporttranslate.php?host4&switchport=Fa0/1&period=dailyは、PHP が解釈されていないため、ソースが返されていることを示しています。残念ながら、返された結果からは理由がわからないため、ログから理由を調べる必要があります。

彼らは役に立ちましたが、私はまだこの問題の真相にたどり着いていません. それは単純な間違いだと確信していますが、助けていただければ幸いです。

参考までに、Cacti は centos 6.5 で動作しています。

4

2 に答える 2

0

私の前の例にはリンクの問題があったので、サーバーに画像をダウンロードしてそこから表示しました ここに私のコードがあります

     $username = 'dipen';
    $password = 'yourpassword';

    $url = "https://graph.yourdomain.com/";
    $cookie = "cookie.txt";  
    $path = "tempcookie";

    $postdata = "login_username=".$username."&login_password=".$password."&action=login";

    $ch =curl_init();
    curl_setopt($ch,CURLOPT_URL, $url);
    curl_setopt($ch,CURLOPT_SSL_VERIFYPEER, false);
    $agent = $_SERVER["HTTP_USER_AGENT"];
    curl_setopt($ch,CURLOPT_USERAGENT, $agent);
    curl_setopt($ch,CURLOPT_TIMEOUT, 60);
    curl_setopt($ch,CURLOPT_COOKIESESSION, true);
    curl_setopt ($ch,CURLOPT_REFERER, $url);
    curl_setopt ($ch,CURLOPT_POST, 1); 
    curl_setopt ($ch,CURLOPT_POSTFIELDS, $postdata);
    curl_setopt($ch,CURLOPT_RETURNTRANSFER, 1);
    curl_setopt($ch,CURLOPT_FOLLOWLOCATION, 1);
    curl_setopt($ch,CURLOPT_COOKIEJAR, $path.'/'.$cookie);
    curl_setopt($ch,CURLOPT_COOKIEFILE, base_url().$path.'/'.$cookie); 
    $result = curl_exec ($ch);
    if (curl_error($ch)) {
        echo curl_error($ch);
    }

    if(!empty($corporate_graph_id))
    {
        $corporate_graph_id = $corporate_graph_id[0]['grpah_id'];

        $url1 =' https://graph.yourdomain.com/graph_image.php?action=view&local_graph_id='.$corporate_graph_id.'&rra_id=3';

        curl_setopt($ch, CURLOPT_URL, $url1);
        curl_setopt($ch, CURLOPT_POST, false);
        curl_setopt($ch, CURLOPT_POSTFIELDS, "");
        curl_setopt($ch, CURLOPT_BINARYTRANSFER,1);
        $answer = curl_exec($ch);
        if (curl_error($ch)) {
            echo curl_error($ch);
        }

        $fp = fopen($path.'/'.$corporate_graph_id.'.jpg','w');
        fwrite($fp, $answer);
        fclose($fp);


        $img_path = base_url().$path.'/'.$corporate_graph_id.'.jpg'; 

        echo '<img src="'.$img_path.'" /><br/>';

    }
    curl_close($ch);
于 2015-06-16T07:39:31.013 に答える