php - win7 64位 curl_exec($ch) 返回一直是false
PHP中文网
PHP中文网 2017-05-16 13:11:03
0
2
1126

同事的win10上面可以得到正常的值,但是在我在win7上curl_exec($ch)的返回值一直是false。然后尝试打出curl_error($ch)是一个string(0) ""。

我看了下本地php的配置 curl应该已经开启了


之后我照着

http://php.net/manual/zh/curl...

下面的方法将
libeay32.dll
libssh2.dll
ssleay32.dll

这三个文件放到

C:\Program Files\Apache Software Foundation\Apache2.4\bin

这个目录下,重启apache之后得到的还是为false。

我的php版本是5.6.23。并且已经基本排除了代码的问题。想问问诸位有没有也遇到过类似情况的,最后都怎么解决的。感激不尽。

下面是详细代码。

$ch = curl_init();
    curl_setopt($ch, CURLOPT_URL, $url);
    $headers=array(
        // 'W-ACCESS-TOKEN: '.$access_token,
        'Content-Type: application/json'
    );
    // addd header
    curl_setopt($ch, CURLOPT_HTTPHEADER, array_merge($headers,$app_headers));
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
    curl_setopt($ch, CURLOPT_POST, 1);
    curl_setopt($ch, CURLOPT_POSTFIELDS, json_encode($fields));
    // curl_setopt($ch, CURLOPT_COOKIE, implode(';', $cookies_items));
    curl_setopt($ch,CURLOPT_SSL_VERIFYPEER,false);

    if($method=='PUT'){
        curl_setopt($ch, CURLOPT_CUSTOMREQUEST, "PUT");
    }elseif($method=='DELETE'){
        curl_setopt($ch, CURLOPT_CUSTOMREQUEST, "DELETE");
    }
    
    $data = curl_exec($ch);
    curl_close($ch);
    return $data;

再次更新,现在捕获异常之后报出以下错误

Curl failed with error #7: Failed to connect to auc.qa2.test.yiran.com port 80: Timed out


4月21日更新
已解决。
没有配host。配上了就能连上了。

PHP中文网
PHP中文网

认证高级PHP讲师

全員に返信(2)
巴扎黑

timeout就是连不上,你试试手动打开这个url看看。。

いいねを押す +0
習慣沉默

将代码贴出来,curl_setopt是否设置CURLOPT_RETURNTRANSFER为true

いいねを押す +0
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート
私たちについて 免責事項 Sitemap
PHP中国語ウェブサイト:福祉オンライン PHP トレーニング,PHP 学習者の迅速な成長を支援します!