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から即反映のようですね。
再起動しなくてもすぐ結果がわかりました。
さ、これで環境構築再開、再開と。
関連記事はありません。
コメントとトラックバック
コメントはありません