2013-01-08 6 views
9

Wir verwenden derzeit Nginx als unseren Server und Memcached für Caching-Mechanismus. Ich untersuchte PHP-Fehlerprotokolle und viele PHP-Warnungen über Memcached erregten meine Aufmerksamkeit.Ungültige Memcache-> Verbindungselement Variable Fehler

PHP Warning: Memcache::get(): Invalid Memcache->connection member variable in {directory}/library/Zend/Cache/Backend/Memcached.php on line 180 

An der Linie war es zeigt, gibt es dieses Stück Code:

$tmp = $this->_memcache->get($id); 

ich auch viele andere PHP Warnungen mit der gleichen Warnmeldung aber anders mit verschiedenen Funktionsaufrufen von memcache Objekt zu sehen:

PHP Warning: Memcache::add(): Invalid Memcache->connection member variable in {directory}/library/Zend/Cache/Backend/Memcached.php on line 180 
PHP Warning: Memcache::set(): Invalid Memcache->connection member variable in {directory}/library/Zend/Cache/Backend/Memcached.php on line 230 
PHP Warning: Memcache::delete(): Invalid Memcache->connection member variable in {directory}/library/Zend/Cache/Backend/Memcached.php on line 323 

Ich habe eine Suche im Internet, konnte aber nichts finden, was wirklich geholfen hat. Von Zeit zu Zeit haben wir einige Probleme mit unserem Memcached. Ist es möglich, dass diese Art von Problem auftritt, wenn Server aufgrund eines Problems heruntergefahren sind? Ich habe wirklich keine Ahnung, was diese Warnungen verursacht. Wie kann ich das korrigieren oder zumindest wie vermeide ich diese Warnungen?

+0

Haben Sie die Lösung gefunden? Wenn es Ihnen nichts ausmacht ... –

+0

Haben Sie Connection erstellt, bevor Sie versuchen, etwas von Daemon zu bekommen? – Barif

Antwort

0

Sie Schlüssel max 250 Zeichen und Wert max könnte helfen müssen überprüfen: 1MB

0

Hast du kürzlich dein eigenes PHP erstellt? Es ist möglich, dass die Versionen nicht synchron sind.

+0

Dies ist nicht wirklich eine Antwort auf ihre Frage. – Leigh

0

Ich hatte das gleiche Problem. Als ich Memcache-Objekt in __destruct aufgerufen habe, um den Zustand meines Objekts zu aktualisieren, gehe ich den Fehler. und hier ist meine Lösung .: Aufruf Objekt in Ihrer Klasse Funktion, wo Sie den Zustand ändern und sicher sein, eine Instanz von Memcache zu dieser Klasse senden.