PHP のバグ?
今日になって突然、管理を担当しているサイトで謎のエラーが頻発するようになった。
PHP を使ったウェブページにおいて、URL を指定して外部サーバのコンテンツを取得しようとすると失敗し、こんな感じの警告が表示される。
Warning: fsockopen(): php_network_getaddresses: getaddrinfo failed: Name or service not known in ***
その他類似のエラーとして PHP からメールを送ろうとするとアドレスが見つからないので送信エラーになる。
両方とも URLの正引きができなくなったことで引き起こされたと思われた。DNS サーバの障害ではないかということでデータセンターに問い合わせてみたが、機械的な障害は出ていないという。ではネームサービスに関連するサーバ設定がおかしいのではないかと、hosts ファイルや resolv.conf の設定を見直してみた。しかし特に変な部分はない。しかもサーバから dig や wget コマンドを試すと問題なく機能していた。
どうも変である。
そもそも PHP のエラーなんだから PHP がおかしくなったのだろうということで、機能不全を起こしている httpd をリスタートしたところ、エラーが消え正常に動くようになった。
原因不明なままでは気持ち悪いので Google 先生に聞いてみた。が、どうにもすっきりとした答えがでてこない。どうやらバグらしいということと、httpd 再起動で解決するらしいということだけはわかった。
http://bugs.php.net/bug.php?id=11058
とりあえず問題発生が正月じゃなくてよかったと思った。