Memcache si connette ma non risponde a nessun command

Installazione: Apache; PHP 5.2.9; libevent (per memcached è richiesto) versione 1.3; server memcached versione 1.2.2 (provato 1.4.5, 1.4.0, ora downgrade a 1.2.2, nessuna differenza); module memcached php pecl versione 2.2.6.

Problema:

Simile a problemi irrisolti non può memorizzare valori in memcache e Super strano errore PHP

Nessuno di questi thread aveva risolto il problema e nessuno degli autori di domande seguiva le raccomandazioni fornite. Li ho seguiti tutti, e ancora non funziona.

Memcache codice Memcache non mostra alcun errore se mi sto connettendo tramite PHP, ma non appena sto cercando di eseguire qualsiasi command (come getVersion ), ottengo la risposta:

Notice: memcache_get_version() [function.memcache-get-version]: Server 127.0.0.1 (tcp 11211) failed with: Failed reading line from stream (0) in /var/www/html/memcache.php on line 11

Soluzioni provate:

La connessione a memcache tramite la row di command non funziona. Dopo aver digitato qualsiasi command, la connessione si sta chiudendo.

 [/usr/local/src]$ telnet 127.0.0.1 11211 Trying 127.0.0.1... Connected to 127.0.0.1. Escape character is '^]'. stats Connection closed by foreign host. 

Ho provato $ memcached -S per assicurarmi che memcached sia stato compilato con supporto SASL disabilitato. Risposta: "Questo server non è costruito con il supporto SASL."

Inoltre, uno dei commenti è stato

È ansible che si stia eseguendo memcached senza il supporto del protocollo ASCII, ad esempio se si è eseguito:

  $ memcached -B binary 

Se questo è il caso, rimuovere completamente l'argomento -B , e PHP e telnet dovrebbero funzionare.

La linea di partenza di memcache è:

 memcached -d -m 1024 -u root -l 127.0.0.1 -p 11211 

Nessun argomento B in esso.

Qualche idea?

A chi potrebbe essere interessante.

Problema risolto.

Qui è where il problema era (forse sarebbe di aiuto agli autori di 2 pedate correlate).

Sull'hosting condiviso a volte non si dovrebbe usare 127.0.0.1. Invece, utilizzare l'indirizzo IP del sito.

Quindi cambiando

 memcached -d -m 1024 -u root -l 127.0.0.1 -p 11211 

a

 memcached -d -m 1024 -u root -l 123.456.789.123 -p 11211 

e codice PHP da

 $memcache->pconnect("127.0.0.1",11211); 

a

 $memcache->pconnect("123.456.789.123",11211); 

risolto il problema.

Grazie a tutti!

Vorrei parlare con il tuo sys sadmin. Penso che ci sia forse un firewall coinvolto.