2017-01-09 21 views
0

開発環境のXAMPPから古いUbuntu Web Server(Ubuntu 12.04.5 LTS)にアプリケーションを転送しました。サーバー上にPHP 5.3がインストールされています。 有効なカールを有効にしました。XAMPPでPHPカールが動作していますが、サーバ上で動作していません

コードを実行しようとすると、「ホストが見つかりません」というエラーが発生します。私は既にthis articleの助けを借りてカールをデバッグしようとしましたが、問題の原因を突き止めることができません。

Iは、例えば、次のコードを試みた:上記のコードは、物品からデバッグコードを含む

function getTest($parameter, $username, $password){ 
    $response = file_get_contents_curl('[rest url with parameter]', $username, $password); 
    print_r($response); 
} 

function file_get_contents_curl($url, $username, $password) { 
    ob_start(); 
    $out =fopen('php://output', 'w'); 
    $curl = curl_init(); 
    curl_setopt($curl, CURLOPT_VERBOSE, true); 
    curl_setopt($curl, CURLOPT_STDERR, $out); 
    curl_setopt($curl, CURLOPT_URL, $url); 
    curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1); 
    curl_setopt($curl, CURLOPT_HTTPAUTH, CURLAUTH_ANY); 
    curl_setopt($curl, CURLOPT_USERPWD, $username . ":" . $password); 
    curl_setopt($curl, CURLOPT_USERAGENT, 'Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.0.3705; .NET CLR 1.1.4322)'); 
    $data = curl_exec($curl); 
    fclose($out); 
    $debug=ob_get_clean(); 
    print_r($debug); 
    curl_close($curl); 

を。以下は、(さらにエラー「ホストが見つかりません」が含まれて$応答出力に)出力されます。誰もが考えているん

GET [rest url] 
HTTP/1.1 
User-Agent: Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.0.3705; .NET CLR 1.1.4322) 
Host: [host] 
Accept: */* 
Proxy-Connection: Keep-Alive 

< HTTP/1.1 502 Host not found 
< Date: Mon, 09 Jan 2017 17:49:42 GMT 
< Cache-Control: no-cache 
< Pragma: no-cache 
< Content-Type: text/html; charset="UTF-8" 
< Content-Length: 2556 
< Accept-Ranges: none 
* HTTP/1.1 proxy connection set close! 
< Proxy-Connection: close 
< Connection: close 
< 
* Closing connection #0 

、何がそこに問題があるかもしれませんか?認証に問題はありますか?私はコマンドラインでアクセスしようとするとurlは動作しませんが、コードは私のXAMPPで動作し、urlはブラウザで動作します。

本当に助けていただきありがとうございます。 ありがとうございます!

+0

'[rest url]'は実際にはURLに設定されていますか? – WillardSolutions

+0

はいそれは私のURLです(http:// .....) – user2550641

答えて

0

最後に、私がドメイン名の代わりに純粋なIPを使用すると動作することが判明しました。私はネットワークに慣れていませんが、DNSに問題があるようです。

URLのIPを使用すると、すべて正常に動作します。

+0

質問から私はこれがあなた自身のドメイン/あなたが呼んでいるIPかどうかわかりません。いずれにしても、ホストが別のサーバーに移動したり、複数のサーバーでロードバランシングのメカニズムが導入されたり、サーバーのデフォルトディレクトリに変更があるためにサイトが使用できない場合、IPが将来変更される可能性があることに注意してください構成。ちょうどそれを回避するのではなく、DNSの問題を解明することは、今後のいくつかのメンテナンスの頭痛を軽減するでしょう。 – Christian

+0

はい、それは本当です!私は現時点ではプロトタイプしか開発していないので、回避策として十分です。しかし、あなたが私に説明することができればうれしいです、DNS問題を理解する方法:-) – user2550641

+0

これは簡単なことです。まず第一に、正確に何が起こっていないのか、どこでどこが分かるかを理解する必要があります。しかし、私はこれがコメントセクションのためにあまりにも遠くに行くと思うし、またネットワークのものに関しては、それほど専門家ではない。多分あなたは[チャット](http://chat.stackoverflow.com/)のヘルプを見つけるでしょうか?また、これを正解としてマークするのが最善の方法ではないかもしれません。 – Christian

関連する問題