

下記で、curl_exec実行すると期待した結果を取得できるのですが、  
curl_getinfoの結果が何れもint(0)になります。

・どういう意味ですか？  
・サーバ設定が関係しているのですか？

[code]

    curl_setopt_array($ch, [
        CURLOPT_RETURNTRANSFER => true,
        CURLOPT_POST => true,
        CURLOPT_POSTFIELDS => http_build_query($hoge),
    ]);
    
    curl_getinfo($ch, CURLINFO_HTTP_CODE);
    curl_getinfo($ch, CURLINFO_RESPONSE_CODE);
    
    json_decode(curl_exec($ch), true);
    
[/code]


CC BY-SA 4.0
2019-02-05T03:03:04.573
52549
2022-12-15T04:09:10.970
2022-09-20T02:47:44.897
3060
7886
question
php http php-curl
期待した結果を取得できるが、 返り値のHTTP コードがint(0)となる理由は？


「curl_getinfoの結果が何れもint(0)になります」というのは、  
いずれのcurl_getinfoの実行も失敗に終わっていて、False (0)が返された、という事だと思います。

[code]

    curl_getinfo($ch, CURLINFO_HTTP_CODE);
    curl_getinfo($ch, CURLINFO_RESPONSE_CODE);
    
[/code]

のように、curl_getinfoの実行結果を使っていない（結果を変数に代入したり、if文などで判断したりしていない）のなら、「結果が何れもint(0)になります」とかいうのも判りようがありません。

curl_getinfoを使う気がないなら、コードに書かない。  
curl_getinfoをコードに書くなら、ちゃんと使う。  
中途半端なことをしていると、後始末が大変になります。(痛い目にあったことがあります)


CC BY-SA 4.0
2019-02-05T05:24:50.993
52556
2019-02-05T05:24:50.993
217
52549
answer