2013-07-10 82 views
0

我已經將工作的zend項目轉移到另一臺服務器。這是一個主要的領域,一切都設置正確(我認爲)。頁眉和頁腳運行良好,但在中間內容區域顯示錯誤消息。調試Zend項目

Server IP: 67.225.249.200 
User agent: Mozilla/5.0 (Windows NT 6.2; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/27.0.1453.116 Safari/537.36 
Server time: 2013-07-10 02:50:43 
RequestURI:/
Message: SQLSTATE[HY000] [2054] The server requested authentication method umknown to the client 

Trace: 
#0 /home/xienc2/public_html/library/Zend/Db/Adapter/Pdo/Mysql.php(109): Zend_Db_Adapter_Pdo_Abstract->_connect() 
#1 /home/xienc2/public_html/library/Zend/Db/Adapter/Abstract.php(459): Zend_Db_Adapter_Pdo_Mysql->_connect() 
#2 /home/xienc2/public_html/library/Zend/Db/Adapter/Pdo/Abstract.php(238): Zend_Db_Adapter_Abstract->query('DESCRIBE `page`', Array) 
#3 /home/xienc2/public_html/library/Zend/Db/Adapter/Pdo/Mysql.php(169): Zend_Db_Adapter_Pdo_Abstract->query('DESCRIBE `page`') 
#4 /home/xienc2/public_html/library/Zend/Db/Table/Abstract.php(835): Zend_Db_Adapter_Pdo_Mysql->describeTable('page', NULL) 
#5 /home/xienc2/public_html/library/Zend/Db/Table/Abstract.php(874): Zend_Db_Table_Abstract->_setupMetadata() 
#6 /home/xienc2/public_html/library/Zend/Db/Table/Abstract.php(982): Zend_Db_Table_Abstract->_setupPrimaryKey() 
#7 /home/xienc2/public_html/library/Zend/Db/Table/Select.php(100): Zend_Db_Table_Abstract->info() 
#8 /home/xienc2/public_html/library/Zend/Db/Table/Select.php(78): Zend_Db_Table_Select->setTable(Object(Application_Model_DbTable_Page)) 
#9 /home/xienc2/public_html/library/Zend/Db/Table/Abstract.php(1018): Zend_Db_Table_Select->__construct(Object(Application_Model_DbTable_Page)) 
#10 /home/xienc2/public_html/library/Zend/Db/Table/Abstract.php(1326): Zend_Db_Table_Abstract->select() 
#11 /home/xienc2/public_html/application/models/PageMapper.php(57): Zend_Db_Table_Abstract->fetchAll() 
#12 /home/xienc2/public_html/application/controllers/IndexController.php(7): Application_Model_PageMapper->fetchAll() 
#13 /home/xienc2/public_html/library/Zend/Controller/Action.php(133): IndexController->init() 
#14 /home/xienc2/public_html/library/Zend/Controller/Dispatcher/Standard.php(268): Zend_Controller_Action->__construct(Object(Zend_Controller_Request_Http), Object(Zend_Controller_Response_Http), Array) 
#15 /home/xienc2/public_html/library/Zend/Controller/Front.php(954): Zend_Controller_Dispatcher_Standard->dispatch(Object(Zend_Controller_Request_Http), Object(Zend_Controller_Response_Http)) 
#16 /home/xienc2/public_html/library/Zend/Application/Bootstrap/Bootstrap.php(97): Zend_Controller_Front->dispatch() 
#17 /home/xienc2/public_html/library/Zend/Application.php(366): Zend_Application_Bootstrap_Bootstrap->run() 
#18 /home/xienc2/public_html/public/index.php(30): Zend_Application->run() 
#19 {main} 

Request data: array (
'controller' => 'index', 
'action' => 'index', 
'module' => 'default', 
) 

Session data: 


Last database query: connect 

Last database query params: array (
) 

我的房東是Liquidweb。

Php版本是5.4.16,並且還安裝了pdo擴展。請幫忙。

+0

我暫時通過使用mysqli而不是pdo_mysql解決了這個問題。服務器有pdo_mysql,但不知道爲什麼它不起作用。 –

回答

0

您可能遇到PHP版本大於等於5.3的Backward incompatibility issues之一。

最可能的原因是:

新mysqlnd庫需要使用MySQL 4.1中的新的41個字節的密碼格式。繼續使用舊的16字節密碼將導致mysql_connect()和類似的函數發出錯誤,「mysqlnd無法使用舊認證連接到MySQL 4.1+」。

檢查您的MySQL服務器版本。然後檢查你的MySQL密碼存儲。 This answer provides more insight

+0

我可以直接使用mysql_connect連接數據庫,甚至可以獲取記錄。但通過zend pdo它會引發錯誤。它仍然是一個PHP版本問題? –

+0

一個Web服務器可以配置爲一次運行多個PHP版本,因此請檢查Zend運行的PHP版本是什麼。 什麼是Zend版本? –

+0

Zend版本:1.11.11發佈(r24485)和PHP版本:5.4.16 –