「ダッシュボード/トンネル/キー」に関連するエラーの原因となるもの


8

ログには以下の情報がありますが、これを引き起こす原因が何かはわかりません:(

a:5:{i:0; s:45: "応答を読み取れないか、応答が空です"; i:1; s:1003: "#0 lib / Varien / Http / Client.php(61):Zend_Http_Client-> request( 'GET')
#1 app / code / core / Mage / Adminhtml / controllers / DashboardController.php (100):Varien_Http_Client-> request( 'GET')
#2 app / code / core / Mage / Core / Controller / Varien / Action.php(418):Mage_Adminhtml_DashboardController-> tunnelAction()
#3 app / code / core / Mage / Core / Controller / Varien / Router / Standard.php(254):Mage_Core_Controller_Varien_Action-> dispatch( 'tunnel')
#4 app / code / core / Mage / Core / Controller / Varien / Front.php(172):Mage_Core_Controller_Varien_Router_Standard -> match(Object(Mage_Core_Controller_Request_Http))
#5 app / code / core / Mage / Core / Model / App.php(365):
#6 app / Mage.php(684):Mage_Core_Model_App-> run(Array)
#7 index.php(83):Mage :: run( 'my_store'、 'store')
#8 {main} ";
s:3 : "url"; s:543: "/ index.php / admin / dashboard / tunnel / key / ba90f30f2af450c5980c4c6353c49d61 /?ga = ..&h = ..";
s:11: "script_name"; s:10: "/ index.php ";
s:4:" skin "; s:5:" admin ";}

回答:


5

トンネルアクションは、ダッシュボードのグラフデータを取得するアクションです。

ご存知かもしれませんが、ダッシュボードグラフはGoogle Chart Apiによって生成されます。

メソッドからわかるように、トンネルアクションはAPI URLを呼び出してグラフを生成します。

public function tunnelAction()
{
    $httpClient = new Varien_Http_Client();
    $gaData = $this->getRequest()->getParam('ga');
    $gaHash = $this->getRequest()->getParam('h');
    if ($gaData && $gaHash) {
        $newHash = Mage::helper('adminhtml/dashboard_data')->getChartDataHash($gaData);
        if ($newHash == $gaHash) {
            $params = json_decode(base64_decode(urldecode($gaData)), true);
            if ($params) {
                $response = $httpClient->setUri(Mage_Adminhtml_Block_Dashboard_Graph::API_URL)
                        ->setParameterGet($params)
                        ->setConfig(array('timeout' => 5))
                        ->request('GET');

                $headers = $response->getHeaders();

                $this->getResponse()
                    ->setHeader('Content-type', $headers['Content-type'])
                    ->setBody($response->getBody());
            }
        }
    }
}

と:

const API_URL = 'http://chart.apis.google.com/chart';

問題は、ストアがプロキシを使用しているため、Google Chart API URLデータを取得できないことである可能性があります。


最近この問題が発生しました。「Amasty_Geoip.xml」を含む新しいチェックアウト拡張機能が原因であるのではないかと思います。
Zinat

私は非常にそれを疑う@Zinatことが起こってから、エラーを停止した場合は、このモジュールを無効にして、参照、調べるには
デジタルPianismでラファエル

3

公式サイトから:https : //developers.google.com/chart/image/

警告:このAPIはサポートが終了しており、2019年3月14日に無効になる予定です。代わりに、アクティブにメンテナンスされているGoogle Charts APIを使用してください。

オフになっているようです。


はい、構成でダッシュボードグラフを無効にできます。
DependencyHell

0

一時的な修正は、1.xでグラフを無効にすることです

System > Configuration > Advanced > Admin > Dashboard

グラフを有効にするをnoに設定します

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.