、私は次のコードで私の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です。 これは問題を引き起こしている可能性がありますが、どうすれば修正できますか?
にリダイレクトされたサイトにアクセスしようとしたとき、サーバー構成の問題が発生した場合は、代わりに[サーバー障害](http://serverfault.com/)に質問を投稿する必要があります。 SOはプログラミングに関する質問です。 –