2016-11-02 9 views
1

、私は次のコードで私のAPIをテストしてい:カール/のfile_get_contents/get_headers「ストリームをオープンに失敗しました」

$url = 'http://example.com/api/myendpoint; 
    print_r(get_headers($url));die(); 

を時にはそれは作品を行い、時にはそれは404 返しますリンクIアクセスは単にJSON応答を返します。

これは私が私のAmazon EC2サーバを再起動した後に発生し始めました。私はローカルで行う場合

うまく機能するために(それでもそこに、時にはそれが動作しない)ようです。

 Array 
(
    [0] => HTTP/1.1 200 OK 
    [1] => Server: nginx/1.10.1 
    [2] => Content-Type: application/json 
    [3] => Connection: close 
    [4] => Cache-Control: private, must-revalidate 
    [5] => Date: Wed, 02 Nov 2016 14:47:36 GMT 
    [6] => pragma: no-cache 
    [7] => expires: -1 
    [8] => X-Debug-Token: fadeb4 
    [9] => Strict-Transport-Security: max-age=31536000; includeSubdomains; 
) 

私はいくつかのオンラインPHPテスターでやろうとしました。同じ問題。

私の事は、それは、サーバー構成の問題だが、私はそれをデバッグする方法の見当がつかない。

ありがとうございました。

UPDATE

私は私のリクエスト/レスポンスのにhtmlentitiesを見たとき、私は、このデータを得た

Array 
(
    [url] => http://example.com/api/myendpoint 
    [content_type] => text/html 
    [http_code] => 404 
    [header_size] => 163 
    [request_size] => 206 
    [filetime] => -1 
    [ssl_verify_result] => 0 
    [redirect_count] => 0 
    [total_time] => 0.00557 
    [namelookup_time] => 0.004207 
    [connect_time] => 0.004851 
    [pretransfer_time] => 0.004874 
    [size_upload] => 0 
    [size_download] => 579 
    [speed_download] => 103949 
    [speed_upload] => 0 
    [download_content_length] => 579 
    [upload_content_length] => 0 
    [starttransfer_time] => 0.005555 
    [redirect_time] => 0 
    [redirect_url] => 
    [primary_ip] => ::ffff:XX:XX:XX:XX 
    [certinfo] => Array 
     (
     ) 

    [primary_port] => 80 
    [local_ip] => ::ffff:YY.YY.Y.YY 
    [local_port] => 42744 
) 

事はプライマリIPはXXということです:XX:XX:XX:XXではありません私の実際のIP。アマゾンWebサーバーでインスタンスを変更する前に、私の古いIPです。 これは問題を引き起こしている可能性がありますが、どうすれば修正できますか?

+1

にリダイレクトされたサイトにアクセスしようとしたとき、サーバー構成の問題が発生した場合は、代わりに[サーバー障害](http://serverfault.com/)に質問を投稿する必要があります。 SOはプログラミングに関する質問です。 –

答えて

0

私はそれが何であったかを発見:

私は私のOVHに、私は私のDNSのIPv4のを変更し、ホスティング、私のアマゾン・ウェブ・サーバを変更したとき。 しかし私はipv6を変更しませんでした。

だから、時にはあなたはそれがだと思うならば、私は通話が正しいIP(パスがIPv4で示した)、時には古い間違ったもの(のIPv6で示す経路)

関連する問題