検索

ホームページ  >  に質問  >  本文

php - win7 64ビットのcurl_exec($ch)は常にfalseを返します

私の同僚は win10 では正常な値を取得できますが、私の win7 ではcurl_exec($ch) の戻り値は常に false です。次に、string(0) "" であるcurl_error($ch) と入力してみます。

ローカルの PHP 設定を確認したところ、curl が有効になっているはずです

<時間>

私も後で倣います

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

次のメソッドは
libeay32.dll
libssh2.dll
ssleay32.dll

を実行します。

これら 3 つのファイルを配置します

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=配列(
        // 'W-ACCESS-TOKEN: '.$access_token,
        「コンテンツタイプ: application/json」
    );
    //ヘッダーを追加
    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);
    カール_クローズ($ch);
    $data を返す;

再度更新され、例外をキャッチした後に次のエラーが報告されるようになりました。

Curl がエラー #7 で失敗しました: auc.qa2.test.yiran.com ポート 80 への接続に失敗しました: タイムアウトしました

<時間>

4月21日更新
解決済み。
ホストが構成されていません。ペアリングが完了すると接続可能になります。

PHP中文网PHP中文网2780日前1275

全員に返信(2)返信します

  • 巴扎黑

    巴扎黑2017-05-16 13:13:03

    タイムアウトのため接続できません。この URL を手動で開いて確認してください。 。

    返事
    0
  • 習慣沉默

    習慣沉默2017-05-16 13:13:03

    コードを投稿して、curl_setopt が CURLOPT_RETURNTRANSFER を true に設定しているかどうかを確認してください

    返事
    0
  • キャンセル返事