hostsいぢり

2008/08/26 2008/08/27

SXにPHP開発環境を構築するべく、PDTとXAMPPをインストールして試しにローカルで動かしたところ、しばらく待ってもなぜかページが表示されずに、

Fatal error: Maximum execution time of 60 seconds exceeded in xxxxxxxxxx on line xx

というような表示が。

60秒経ってもPHP側の処理が終わらなかったので強制中断されたようです。
普通にググって調べると、単純にphp.iniでタイムアウト時間を延ばすとか無限ループに陥っている所を探すとかいった内容ばかり。
ていうか、元々ローカルでも1秒かからない処理なんですが…。

出ていたソースと行番号を見るとfile_get_contentsで異常に時間がかかっているようです。
元々、http再帰リクエストをしたいために使っているので、なんだかネットワークが怪しい。
localhost指定ではダメで127.0.0.1指定だといくみたいな記事もあったので試してみたら、localhost指定だとなぜか現象が発生する事を突き止めました。
が、その記事はDNSの設定を変えるみたいな内容だったのですが、ローカルPCなんで関係無し。

一体なんなんだ?と思いながら、自分自身にpingしてみると、

C:\>ping localhost

SX [::1]に ping を送信しています ::1 から 32 バイトのデータ:
::1 からの応答: 時間 <1ms
::1 からの応答: 時間 <1ms
::1 からの応答: 時間 <1ms
::1 からの応答: 時間 <1ms

::1 の ping 統計:
    パケット数: 送信 = 4、受信 = 4、損失 = 0 (0% の損失)、
ラウンド トリップの概算時間 (ミリ秒):
    最小 = 0ms、最大 = 0ms、平均 = 0ms

みたいな感じで、『::1』というなんだか見たことない表示が。c
なーんかipv6が絡んでそうな気が…。
ネットワーク設定とか、サービスとかからipv6系のものは抹殺してます。
それが原因になってるような気がしますが、まぁ戻すのも嫌なので、hosts設定がおかしくないか確認してみることにしました。

で、c:\windows\system32\drivers\etc\hostsを開いてみると、

# Copyright (c) 1993-2006 Microsoft Corp.
#
# This is a sample HOSTS file used by Microsoft TCP/IP for Windows.
#
# This file contains the mappings of IP addresses to host names. Each
# entry should be kept on an individual line. The IP address should
# be placed in the first column followed by the corresponding host name.
# The IP address and the host name should be separated by at least one
# space.
#
# Additionally, comments (such as these) may be inserted on individual
# lines or following the machine name denoted by a '#' symbol.
#
# For example:
#
#      102.54.94.97     rhino.acme.com          # source server
#       38.25.63.10     x.acme.com              # x client host

 

127.0.0.1       localhost
::1             localhost

なーんかいますねい、::1って奴が。
試しにコメント化してみたら、あっさり動くようになりました。
…3日ハマりました。

hostsですが、どうもVistaから即反映のようですね。
再起動しなくてもすぐ結果がわかりました。
さ、これで環境構築再開、再開と。

関連記事

関連記事はありません。

 

コメントとトラックバック

    コメントはありません

    コメントを残す

    CAPTCHA


    トラックバックURLhttps://e-tune-mt.net/ylab/564/trackback