2013-04-25 166 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適配器類似乎捕獲任何異常並顯示「提供的參數...」錯誤,因爲這掩蓋了問題的真正原因。