php curl常见错误:SSL错误、bool(false)

症状:php curl调用https出错

排查方法:在命令行中使用curl调用试试。

原因:服务器所在机房无法验证SSL证书。

解决办法:跳过SSL证书检查。

curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
登录后复制

症状:php curl调用curl_exec返回bool(false),命令行curl调用正常。

排查方法:

var_dump(curl_error($ch));
登录后复制

检查初始化和执行cURL函数的返回值。curl_error()并将curl_errno()在发生故障时返回进一步的信息:

try {
    $ch = curl_init();

    if (FALSE === $ch)
        throw new Exception('failed to initialize');

    curl_setopt($ch, CURLOPT_URL, 'http://example.com/');
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
    curl_setopt(/* ... */);

    $content = curl_exec($ch);

    if (FALSE === $content)
        throw new Exception(curl_error($ch), curl_errno($ch));

    // ...process $content now} catch(Exception $e) {

    trigger_error(sprintf(
        'Curl failed with error #%d: %s',
        $e->getCode(), $e->getMessage()),
        E_USER_ERROR);}
登录后复制

以上就是php curl错误排查的方法详解的详细内容,更多请关注Work网其它相关文章!

09-14 05:27