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

とりあえず問題発生が正月じゃなくてよかったと思った。