0

私はcurlリクエストを持っています、それは私のローカルホストでうまく機能しています、私はそれをサーバーにアップロードしました、しかしそれはハングしてエラー500内部サーバーエラーで終わります。行を削除すると正常echo $output = curl_exec($ch);に動作します。

$url = "https://someserver.com/api/";
$username = "some_user";
$password = "some_apss";
if(!extension_loaded('curl')){
    die("Curl extension not loaded");
}
if(!function_exists('curl_init')){
    die("curl_init not found");
}

$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_USERPWD, "$username:$password");
curl_setopt($ch, CURLOPT_HTTPAUTH, CURLAUTH_BASIC);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, FALSE);     
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, 2); 
echo $output = curl_exec($ch);
$info = curl_getinfo($ch);
curl_close($ch);`
4

3 に答える 3

1

これはサーバー側の問題です。このスクリプトのせいではありません。

于 2012-09-18T08:53:06.560 に答える
0

スクリプトを使用してサーバーにインストールされたcurl拡張機能が、sslサポートを使用してコンパイルされていない可能性があります。サーバーで次のコードを実行し、結果をポストバックします。

<?php
    $version = curl_version();
    $ssl_supported= ($version['features'] & CURL_VERSION_SSL);
    echo $ssl_supported == CURL_VERSION_SSL;

1を出力する必要があります。そうでない場合は、curl用のSSLサポートをインストールする必要があります。

于 2012-09-18T09:01:06.867 に答える
0

それが私のサーバーポートの問題でした。そのポートは閉じられました。ポートを開いた後、その動作は完璧です。皆さん、ありがとうございました

于 2012-09-19T10:12:25.527 に答える