2012-05-07 11 views
1

この質問は多くの形で求められており、私の問題を解決する答えとしてインターネットを磨くのに6時間以上を費やしています。これまでのところ、私はうまくいっていません。私はMAMPを使ってPHPアプリケーションを開発しました。昨日、Snow LeopardからLionにアップグレードしました。すぐに私のローカルアプリケーションはかなり遅く動作していました。私は、LionがIPv6をどのように扱うかについてDNS検索の問題があると考えています。別の行 上に私のホストファイルのエントリのすべてを入れて最大OSライオン10.7.3 MAMPでDNSルックアップが非常に遅い

  1. もはや
  2. .localのTLDを使用するには、私のホストファイル内のすべてのエントリを変更:私は問題を解決するには、次の手順を試してみました
  3. がインストールDNSMASQ(これを正しく行っていない場合があります)
  4. はFE80前に私のホストファイルのエントリのすべてを入れて
  5. 私のホストファイルには、私のホストファイル内のすべてのローカルエントリに正しいエンコーディングに
  6. 追加するIPv6エントリを持っていたことが確実に:: 1%lo 0 localhost line

これはいくつかの問題を修正しましたが、まだ解決していない1つの問題があります。私たちのPHPアプリケーションでは、我々はそのように私たちのSOAPエンドポイントを定義します。

API:?8080 /契約/サービス/ SomeService各サーバー上でWSDL

は、ホスト内の "API" のエントリーがありSOAP APIのIPアドレスを指すファイル。私たちのdevのサーバーを指すようにしたいときに、私はこのように私のhostsファイルを変更します。

132.93.1.4 API

(ない本当のIP)

DNSホストファイルのapiエントリのルックアップには毎回5秒かかります。 ping apiを実行すると、結果は直ちに返されます。しかし、私がssh apiを実行すると、サーバに接続するまでに約5秒かかります。つまり、PHPアプリケーションをロードすると、SOAPクエリーには実際のクエリーが5秒以上かかるため、ローカル開発が完全に不可能になります。私たちがエンドポイントを定義している方法が最良のデザイン決定ではないかもしれないが、それは私が作業しなければならないことであることを認識しています。

私が読んだところでは、まずIPv6で「api」を調べ、失敗して/ etc/hostsを探していると思います。私はこの順序を切り替えるためにdnsmasqを使ってみましたが、運がありませんでした。誰かが最初に/ etc/hostsを読んで強制的に強制する方法を知っていますか、あるいはIPv6を一切スキップしていますか?

更新:私は、ホストファイルのエントリをapi.com、api.foo、 "。"すぐに反応しました。しかし、私はまだ "api"という名前を変更する必要がないソリューションを探しています。

+0

私が成功した唯一の解決策は、 "。その中に。だから私のホストファイルでAPIマシンのIPアドレスに "api"を指すのではなく、 "api.dev"を使用しています。 –

+0

ご質問ありがとうございます。基本的には、os x 10.8.2とMAMP 2.1.1と同じ問題です。通常のIPv6のトリック(タブ付き)は動作しません。これまでの私の唯一の修正点:WiFiのターン。 –

答えて

1

IPv6をサポートするモデムをアップグレードして以来、私は同じ問題を抱えていました。両方のホスト名形式(IPv4とIPv6)を追加すると、次の問題が修正されました:

::1 domain.dev # <== localhost on crack 
127.0.0.1 domain.dev 
関連する問題