2016-04-25 9 views
0

を返すcurl_exec私はコードの下に書かれたと私は以下のデバッグ情報言及している任意のカール応答を取得することができませんでしいますカール通話理解する - 偽

することは、誰かがfalseを返すcurl_execなぜこの問題を見つけるためのお手伝いをしていただけます。

$jwtToken  = getToken(); 
$service_url = "https://example.com/api/Demo/GetProjectAttributes/1484"; 

$ch = curl_init(); 
curl_setopt($ch, CURLOPT_URL, $service_url); 
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); 
curl_setopt($ch, CURLOPT_HTTPHEADER, array (
       "Content-Type: application/x-www-form-urlencoded", 
       "Authorization: Bearer $jwtToken" 
)); 

curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, 1); 
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, 2); 
curl_setopt($ch, CURLOPT_CAINFO, getcwd() . "/mycert.crt"); 

$response = curl_exec($ch); 

if ($response === false) { 
    $info = curl_getinfo($ch); 
    echo '<pre>'; 
    die('error occured during curl exec. Additioanl info: ' . var_export($info)); 
    curl_close($ch); 
} 

私のカールが失敗しつつあると私は情報の下に取得しています:

array (
    'url' => 'https://example.com/api/Demo/GetProjectAttributes/1484', 
    'content_type' => NULL, 
    'http_code' => 0, 
    'header_size' => 0, 
    'request_size' => 0, 
    'filetime' => -1, 
    'ssl_verify_result' => 0, 
    'redirect_count' => 0, 
    'total_time' => 0.57699999999999996, 
    'namelookup_time' => 0, 
    'connect_time' => 0.28100000000000003, 
    'pretransfer_time' => 0, 
    'size_upload' => 0, 
    'size_download' => 0, 
    'speed_download' => 0, 
    'speed_upload' => 0, 
    'download_content_length' => -1, 
    'upload_content_length' => -1, 
    'starttransfer_time' => 0, 
    'redirect_time' => 0, 
    'redirect_url' => '', 
    'primary_ip' => '104.209.135.21', 
    'certinfo' => 
    array (
), 
    'primary_port' => 443, 
    'local_ip' => '192.168.1.4', 
    'local_port' => 56491, 
) 
+1

の代わりに、 '' curl_error'を使用curl_getinfo'し、それがエラーに関する有用な情報を印刷します印刷します。 – keune

+0

@keune私は、それを返す空の文字列を使用しました。 –

答えて

0

PHPのcURL拡張は、それが失敗した場合、要求時にエラーを表示する機能を提供します。

はそのようにそれらを使用してみてください:

$response = curl_exec($ch); 

if (!$response || curl_errno($ch) !== CURLE_OK) 
{ 
    echo 'cURL error (' . curl_errno($ch) . '): ' . curl_error($ch); 
} 
関連する問題