MicrosoftのIISサーバーとの通信中に「function.fgets: SSL: fatal protocol error …」のエラーメッセージが出る場合があります。 その原因と対策方法について。 IISとの通信中に発生することがある 毎回ではないですが、たまにIISがSSLの標準に準拠せずデータ送信終了してしまうために、PHPはデータの終わりをちゃんと認識することができず、エラーを出してしまいます。 より具体的にはIISは「close_notify」を送らないで終了してしまうのだそうです。 むむ、思わぬ所に地雷が… 「close_notify」とは、データの送信側が「これでデータ終了です」ということを受信側に知らせるために発行するTLSハンドシェイクプロトコルに定義されているAlertプロトコルの一種です。 (参考データ) ちなみに、このエラーはfile_get_content