2013-10-11 20 views
7

Ho installato due app nel mio ambiente WAMP. Le prestazioni di entrambi i siti sono OK. Restituiscono i dati in meno di un secondo. Il problema è che quando arricciano un sito da un altro, il ricciolo impiega circa 20 secondi per rispondere. Ho fatto il profiling. In realtà la richiesta CURL sta prendendo tutto il tempo.PHP CURL è troppo lento per localhost

Questo non dovrebbe essere il caso in quanto entrambi i siti sono impostati sulla mia macchina e sto accedendo usando localhost/127.0.0.1. È una sorta di problema di risoluzione DNS?

+0

Lo script _other_ richiede 20 secondi per il completamento? –

+0

aggiunto localhost in system32 \ drivers \ etc \ hosts? – palindrom

+0

si prega di utilizzare 127.0.0.1 invece di localhost, si prega di controllare http://stackoverflow.com/questions/9304645/php-curl-slowness – lucian

risposta

20

Ho avuto lo stesso problema e, infine, scoprire che era venuta da due fatti:

  1. Io uso Mac OS X Mavericks
  2. ho acceduto mio progetto tramite l'URL http://myproject.local/ perché ho messo una linea 127.0.0.1 myproject.local in /etc/hosts

è perché il tld .local è riservata per il servizio Bonjour, e questo a partire da Mac OS X Lion (10.7).

Cambiare il tld per qualcos'altro ha risolto il problema.

+0

Hai salvato la mia giornata! Non lo sapevo ... –

+0

Più uno, ha risolto anche il mio problema. Grazie – BentCoder

+0

grazie mille, ho modificato tutto il mio xx.local ... –

1

Sì, è un problema di ricerca DNS.

In Windows 7 x64 sono riuscito a superare questo problema

(chiamata ricciolo tra le applicazioni su porte diverse in localhost) modificando il file host (C: \ Windows \ System32 \ drivers \ etc).

Un-commento alla riga che dice: 127.0.0.1 localhost , riavvio e il gioco è fatto.

+0

Ho scoperto che non è necessario riavviare il sistema per rendere effettive le modifiche al file degli host. – Andy

+0

in realtà per me ha funzionato solo dopo il riavvio! ho provato anche senza riavviare, ma non ha funzionato. –

+0

Vedo, quindi almeno la prima volta che modifichi il file hosts, dovresti riavviare. – Andy

1

Ho risolto questo problema impostando host virtuali diversi come sitea.dev e siteb.dev Se si utilizza lo stesso host per entrambi i siti sulla macchina Windows localhost, si ottiene un ritardo lungo (lo stesso che se ci fosse è un errore PHP fatale). Non è un problema con Curl dato che file_get_contents (url) mi ha dato lo stesso problema.