0

Cloudflare を数か月間使用していますが、Cloudflare を使用しているとき、支払いシステムが 100% 機能していません。チェックスクリプトが機能しません。Cloudflare がなければ、すべてがうまく機能します。

私が得るエラーは次のとおりです。

PHP 警告: file_get_contents(): php_network_getaddresses: getaddrinfo に失敗しました: これは通常、ホスト名解決中の一時的なエラーであり、ローカル サーバーが権限のあるサーバーから応答を受信しなかったことを意味します。C:\inetpub\wwwroot\check.php の 2 行目

PHP 警告: file_get_contents( https://www.eurobellen.nl/bel/check.php?userid=name&ip=ip&ebpin= ): ストリームを開くことができませんでした: php_network_getaddresses: getaddrinfo に失敗しました: これは通常、ホスト名解決中の一時的なエラーであり、ローカル サーバーが権限のあるサーバーからの応答を受信しなかったことを示します。C:\inetpub\wwwroot\check.php の 2 行目

行 2 は次のとおりです。

$ebcheck = file_get_contents("https://www.eurobellen.nl/bel/check.php?userid=name&ip=".$ip."&ebpin=".$_GET['ebpin']);

私は2時間ほど探し回っていて、いくつかのことを試しましたが、修正できません。皆さんがそれを修正する方法を知っていることを願っていますか?

4

1 に答える 1

3

このタイプのタスクには curl を試すことができます。curlそのタイプのタスクに固有です。

function get_contents($url, $ua = 'Mozilla/5.0 (Windows NT 5.1; rv:2.0.1) Gecko/20100101 Firefox/4.0.1', $referer = 'http://www.google.com/') {
  if (function_exists('curl_exec')) {
    $header[0] = "Accept-Language: en-us,en;q=0.5";
    $curl = curl_init();
    curl_setopt($curl, CURLOPT_URL, $url);
    curl_setopt($curl, CURLOPT_USERAGENT, $ua);
    curl_setopt($curl, CURLOPT_REFERER, $referer);
    curl_setopt($curl, CURLOPT_HTTPHEADER, $header);
    curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
    curl_setopt($curl, CURLOPT_TIMEOUT, 10);
    $content = curl_exec($curl);
    curl_close($curl);
  }
  else { 
    $content = file_get_contents($url);
  }
  return $content;
}

上記の関数は、curl 拡張機能がインストールされているかどうかを確認します。インストールされている場合はとにかくcurlを使用しますfile_get_contents();

于 2015-02-10T15:01:36.513 に答える