MacOSX 10.5(Leopard)のportをupdateした続き

どうも、PHPのfsockopen()を使ってるところで軒並み失敗している様子。

もう少し調べてみる。


なんか、名前解決関係のエラーっぽい。
MacOSXの更新したから、/etc/hostsの扱いとかlocalhost関係の扱いとかが違ってるのかな?
家に帰ったら確認してみよう。
ついでにソフトウェアアップデートもかけたので、そっち側で何か変わったのかも知れない。

具体的には下記エラーが出る

php_network_getaddresses: getaddrinfo failed: Temporary failure in name resolution

ネットでエラーコードでググると、エラーが出てるページが死ぬほどヒットして必要な情報にたどり着けない。
ソフトウェアアップデートでDNS関係のセキュリティアップデートがあったけど、Googleで調べてる限り、そこからの影響は見つからない
何でか知らないけど、下記のどれかのせいで名前解決の挙動が変わった様だ。

  • Apple Software Update
  • Xcode3.1.3インストール
  • port update outloaded

頑張って調べた結果、この辺をヒントに当たってみよう。

  • 普通の名前解決関係の設定を見直す。
    • /etc/hosts
    • /etc/resolv.conf
    • /etc/resolver/
  • httpd.conf の中の HostnameLookupsの設定もチェック
  • lwresdていう軽量の名前解決クライアントが入っているとApacheからの名前解決が失敗する事例があるみたい。

Mac上で普通にブラウジングできるので、システムの名前解決がおかしいとは考えにくい。Apache経由またはPHP経由だけ怪しい。
となると、最後の奴かなぁ。だったらみんなもっと騒いでるよな−。

とりあえず、どれ経由で駄目かも調べてみよう。

PHP経由でのテスト
PHPの名前解決の挙動がコマンド実行時とブラウザからのアクセス時で異なる件について - oranieの日記

perl経由でのテスト
名前解決のコスト : blog.nomadscafe.jp