2013-01-08 24 views
9

我们目前使用Nginx作为我们的服务器和memcached的缓存机制。我正在检查PHP错误日志和大量关于memcached的PHP警告引起了我的注意。无效的Memcache->连接成员变量错误

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

在它指向的线条,上有这段代码:

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

我也看到了同样的警告信息,但其他许多PHP警告用的memcache对象的不同函数调用不同:

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 

我在网上做了一个搜索,但找不到真正有帮助的东西。有时候,我们的memcached存在一些问题。这可能是因为某些问题导致服务器出现故障时发生的某种问题吗?我真的不知道是什么原因导致这些警告。我该如何纠正或至少该如何避免这些警告?

+0

您是否找到了解决方案?如果你不介意... –

+0

在从守护进程获取某些东西之前,你是否创建了Connection? – Barif

回答

0

你需要检查关键最多250个字符和值max:1MB

0

你最近编写了你自己的php吗?有可能它的版本不同步。

+0

这不是他们问题的答案。 – Leigh

0

我有同样的问题。 当我在__destruct中调用memcache对象来更新我的对象的状态时,我发现了错误。 这里是我的解决方案。: 在您的类函数中调用对象,您可以在其中更改状态并确保将memcache实例发送到此类。