2013-10-11 15 views
7

Mam dwie aplikacje w moim środowisku WAMP. Wydajność obu stron jest OK. Zwracają dane w mniej niż sekundę. Problem polega na tym, że gdy zwijam jedną stronę z drugiej, zwijanie się zajmuje około 20 sekund. Zrobiłem profilowanie. W rzeczywistości żądanie CURL trwa przez cały czas.CURL PHP jest zbyt wolny dla localhost

Nie powinno tak być, ponieważ obie witryny są skonfigurowane na moim komputerze i uzyskuję dostęp za pomocą localhost/127.0.0.1. Czy jest to jakiś problem z rozwiązaniem DNS?

+0

Czy wykonywanie skryptu _other_ zajmuje 20 sekund? –

+0

jest localhost dodane w system32 \ drivers \ etc \ hosts? – palindrom

+0

użyj 127.0.0.1 zamiast localhost, sprawdź http://stackoverflow.com/questions/9304645/php-curl-slowness – lucian

Odpowiedz

20

miałem ten sam problem i wreszcie dowiedzieć się, że pochodził z dwóch faktów:

  1. Używam Mac OS X Mavericks
  2. I dostępnego mojego projektu poprzez URL http://myproject.local/ bo umieścić linię 127.0.0.1 myproject.local w /etc/hosts

to dlatego, że .local TLD jest zarezerwowana dla usługi Bonjour, a to ponieważ Mac OS X Lion (10.7).

Zmiana tld na coś innego rozwiązała problem.

+0

Uratowałeś mój dzień! Nie wiedziałem, że ... –

+0

Plus, posortowałem też mój problem. Dzięki – BentCoder

+0

dziękuję, zmodyfikowałem wszystkie moje xx.local ... –

1

Tak, jest problem z wyszukiwaniem DNS.

na Windows 7 x64 udało mi się rozwiązania tego problemu

(curl połączenia pomiędzy aplikacjami na różnych portach w localhost) poprzez edycję pliku hosta (C: \ Windows \ system32 \ drivers \ etc).

Un-komentarz na linii, która mówi: 127.0.0.1 localhost , restart i gotowe.

+0

Znalazłem, że nie trzeba restartować, aby zmiany w pliku hosts zostały uwzględnione. – Andy

+0

właściwie dla mnie działało tylko po ponownym uruchomieniu! Próbowałem również bez restartu, ale to nie zadziałało. –

+0

Rozumiem, więc przynajmniej przy pierwszym edytowaniu pliku hosts, należy zrestartować komputer. – Andy

1

Rozwiązałem ten problem, konfigurując różne hosty wirtualne, takie jak sitea.dev i siteb.dev Jeśli używasz tego samego hosta dla obu witryn na komputerze lokalnym localhost, otrzymujesz duże opóźnienie (takie samo, jak gdyby jest krytycznym błędem PHP). To nie jest problem z Curl, ponieważ file_get_contents (url) dał mi ten sam problem.