2017-09-20 108 views
2

我正在研究一個託管在Google App Engine上的項目,並使用app_devserver進行本地開發。在開始時我遇到了證書問題,但是當我終於知道這個錯誤時,我得到了這個新錯誤URL錯誤0:cURL請求被重試3次,但未成功

我正在使用Windows 10和PHPstorm進行開發。

錯誤:

Message: cURL error 0: The cURL request was retried 3 times and did not succeed. The most likely reason for the failure is that cURL was unable to rewind the body of the request and subsequent retries resulted in the same error. Turn on the debug option to see what went wrong. See https://bugs.php.net/bug.php?id=47204 for more information. (see http://curl.haxx.se/libcurl/c/libcurl-errors.html)

貌似這個錯誤是說,提出要求和全成,但身體不能得到解決或分析?我該如何解決它?

這是我的PHP代碼,如果需要的話:(簡單的調用標籤管理器API V2)

$client = new Google_Client(); 
    $client->setAuthConfig('service_account.json'); 

    $client->setApplicationName("gtmdocx"); 
    /*$client->setScopes(['https://www.googleapis.com/auth/tagmanager.readonly', 
         'https://www.googleapis.com/auth/tagmanager.manage.accounts', 
         'https://www.googleapis.com/auth/tagmanager.edit.containers']);*/ 
    $client->setScopes(['https://www.googleapis.com/auth/tagmanager.readonly']); 
    $service = new Google_Service_TagManager($client); 
    $results = $service->accounts->listAccounts(); 


    echo $_GET['callback'] . '('.json_encode($results).')'; 
+0

你有沒有想過這個?我與谷歌API有同樣的問題。 – TheValyreanGroup

+0

@TheValyreanGroup您使用的是哪種操作系統,以及IDE? – Asim

+0

Windows和沒有ide。 – TheValyreanGroup

回答

2

我不得不使用谷歌雲端硬盤應用正是這個問題,幾個小時試圖找到一個解決方案後,我得到了它使用GuzzleHttp接收器選項工作

$client = new \Google_Client(); 
// ... Client Configuration 

$httpClient = new Client([ 
    'sink' => 'path_to_any_temp_file', 
    'base_uri' => $client->getConfig('base_path'), 
]); 
$client->setHttpClient($httpClient); 

值得一試。

+0

非常好!經過幾個小時的搜索和調試,我發現了根本原因,並且I️最終直接修改了Guzzles源文件以使用temp.txt文件。這顯然好多了。 – TheValyreanGroup