2013-04-25 98 views
0

我昨天迁移了一个大型站点到一台新机器。新机器在zend上运行php 5.3的centos 6.3。Zend Framework auth突然停止工作

一切都运行完美没有问题。今天早上我的手机爆发了一个用户无法登录的问题。看着错误后,他们似乎都无法登录,由于这个错误:

#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('[email protected]', '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

您已经发布了堆栈跟踪,但没有发布实际的错误,它应该出现在日志上方。编辑错误消息时,是否提供了“提供的参数...”消息?另外,ZF的版本是什么?我对有限信息的最好猜测是MySQL表损坏。 – 2013-04-25 15:50:30

+0

我已经开始更加密切关注数据库,并将其指向旧数据库并且它已经工作。所以你是对的,有些东西变坏了。我正在重新编译数据库并重新启动一切。发表一个答案,我可以接受。谢谢您的帮助! – john 2013-04-25 15:57:44

回答

1

根据我的评论,我最好的猜测是MySQL表损坏。您可以运行CHECK TABLE xxx以查看这是否是问题,如果是,则运行REPAIR TABLE xxx。如果你启用了MySQL错误日志,你可能会看到一些东西。但是复制新的转储文件也会修复它。

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