/ php

php-curl

<?php
// Create a curl handle to a non-existing location
$ch = curl_init('http://404.php.net/');

// Execute
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_exec($ch);

// Check if any error occurred
if(curl_errno($ch))
{
    echo 'Curl error: ' . curl_error($ch);
}

// Close handle
curl_close($ch);
?>

mac 下使用 vagrant 作为开发环境,在调试本地 api 时,发现返回 false。将接口地址修改为测试环境则可以正常调用。追到封装的请求方法时,发现在调用 curl_exec() 之后并没有检查错误情况。添加错误提示后,原来是 local.example.com 的 dns 解析不了,mac 下虽然设置了 hosts,但是 vagrant 中并没有配置。在 vagrant 中修改 hosts:

127.0.0.1 local.example.com

再次调用 local 下的 api就正常了。