Zend Framework auth突然停止工作

时间:2013-04-25 15:39:13

标签: php apache zend-framework centos

我昨天将一个大型网站迁移到了一台新机器上。这台新机器在zend上使用php 5.3运行centos 6.3。

一切都运行良好,没有问题。今天早上我的手机出现问题,用户无法登录。查看错误后,由于此错误,它们似乎无法登录:

#0 /usr/share/php/Zend/Auth/Adapter/DbTable.php(286): Zend_Auth_Adapter_DbTable->_authenticateQuerySelect(Object(Zend_Db_Select))
#1 /usr/share/php/Zend/Auth.php(117): Zend_Auth_Adapter_DbTable->authenticate()
#2 /home/localsbest/public_html/application/default/models/Authent.php(50): Zend_Auth->authenticate(Object(Zend_Auth_Adapter_DbTable))
#3 /home/localsbest/public_html/application/default/controllers/AuthentController.php(232): Authent->__construct('john@gocrr.com', 'freedom7')
#4 /usr/share/php/Zend/Controller/Action.php(503): AuthentController->indexAction()
#5 /usr/share/php/Zend/Controller/Dispatcher/Standard.php(285): Zend_Controller_Action->dispatch('indexAction')
#6 /usr/share/php/Zend/Controller/Front.php(934): Zend_Controller_Dispatcher_Standard->dispatch(Object(Zend_Controller_Request_Http), Object(Zend_Controller_Response_Http))
#7 /home/localsbest/public_html/public/index.php(46): Zend_Controller_Front->dispatch()
#8 {main}

我以前从未见过这个错误。更糟糕的是,我无法想到我可以做的任何事情导致这个问题。我那时在睡觉!有没有人知道我可以在哪里开始解决这个问题?

  • 编辑*

也看到了这个错误:

The supplied parameters to Zend_Auth_Adapter_DbTable failed to produce a valid sql statement, please check table and column names for validity.
  • 编辑

如果它也有帮助,该应用程序在PHP 5.2.4上运行,现在它在5.3上运行。

1 个答案:

答案 0 :(得分:1)

根据我的评论,我最好的猜测是MySQL表损坏。您可以运行CHECK TABLE xxx以查看是否存在问题,然后REPAIR TABLE xxx(如果是)。如果你启用了MySQL错误日志,那么你可能会看到一些东西。但复制一个新的转储也会解决它。

令人遗憾的是,Zend Auth适配器类似乎捕获了任何异常并显示“提供的参数...”错误,因为这掩盖了问题的真正原因。