2011-01-20 54 views
1

我最近在我的Opensuse開發服務器上安裝了Zend Server Community Edtion,它工作正常。 唯一的問題是它沒有連接到我的MySql服務器!它一直在拋出錯誤:用Zend Server CE連接到mysql

Message: PDO Connection Error: SQLSTATE[HY000] [2002] Can't connect to local MySQL server through socket '/tmp/mysql.sock' (2) 

Lookud up in/tmp/and yes there is no mysql.sock。但我仍然不知道該怎麼做..我需要改變一些Apache配置文件?或者更改mysql配置?

我真的需要幫助,因爲我有一個很大的項目,我已經搜索谷歌,但沒有任何運氣。

這是給你intrest完整的堆棧跟蹤:

#0 /srv/www/zend/apache2/htdocs/zend.athand.eu/library/Doctrine/Connection/Mysql.php(101): Doctrine_Connection->connect() 
#1 /srv/www/zend/apache2/htdocs/zend.athand.eu/library/Doctrine/Connection.php(1001): Doctrine_Connection_Mysql->connect() 
#2 /srv/www/zend/apache2/htdocs/zend.athand.eu/library/Doctrine/Query/Abstract.php(976): Doctrine_Connection->execute('SELECT t.id AS ...', Array) 
#3 /srv/www/zend/apache2/htdocs/zend.athand.eu/library/Doctrine/Query/Abstract.php(1026): Doctrine_Query_Abstract->_execute(Array) 
#4 /srv/www/zend/apache2/htdocs/zend.athand.eu/application/models/Text.php(25): Doctrine_Query_Abstract->execute() 
#5 /srv/www/zend/apache2/htdocs/zend.athand.eu/library/App/View/Helper/Text.php(27): Application_Model_Text->findText('introText') 
#6 [internal function]: App_View_Helper_Text->Text('introText') 
#7 /srv/www/zend/share/ZendFramework/library/Zend/View/Abstract.php(342): call_user_func_array(Array, Array) 
#8 /srv/www/zend/apache2/htdocs/zend.athand.eu/application/modules/pwc/views/scripts/login/password.phtml(6): Zend_View_Abstract->__call('text', Array) 
#9 /srv/www/zend/apache2/htdocs/zend.athand.eu/application/modules/pwc/views/scripts/login/password.phtml(6): Zend_View->text('introText') 
#10 /srv/www/zend/share/ZendFramework/library/Zend/View.php(108): include('/srv/www/zend/a...') 
#11 /srv/www/zend/share/ZendFramework/library/Zend/View/Abstract.php(880): Zend_View->_run('/srv/www/zend/a...') 
#12 /srv/www/zend/share/ZendFramework/library/Zend/Controller/Action/Helper/ViewRenderer.php(897): Zend_View_Abstract->render('login/password....') 
#13 /srv/www/zend/share/ZendFramework/library/Zend/Controller/Action/Helper/ViewRenderer.php(918): Zend_Controller_Action_Helper_ViewRenderer->renderScript('login/password....', NULL) 
#14 /srv/www/zend/share/ZendFramework/library/Zend/Controller/Action/Helper/ViewRenderer.php(957): Zend_Controller_Action_Helper_ViewRenderer->render() 
#15 /srv/www/zend/share/ZendFramework/library/Zend/Controller/Action/HelperBroker.php(277): Zend_Controller_Action_Helper_ViewRenderer->postDispatch() 
#16 /srv/www/zend/share/ZendFramework/library/Zend/Controller/Action.php(523): Zend_Controller_Action_HelperBroker->notifyPostDispatch() 
#17 /srv/www/zend/share/ZendFramework/library/Zend/Controller/Dispatcher/Standard.php(295): Zend_Controller_Action->dispatch('passwordAction') 
#18 /srv/www/zend/share/ZendFramework/library/Zend/Controller/Front.php(954): Zend_Controller_Dispatcher_Standard->dispatch(Object(Zend_Controller_Request_Http), Object(Zend_Controller_Response_Http)) 
#19 /srv/www/zend/share/ZendFramework/library/Zend/Application/Bootstrap/Bootstrap.php(97): Zend_Controller_Front->dispatch() 
#20 /srv/www/zend/share/ZendFramework/library/Zend/Application.php(366): Zend_Application_Bootstrap_Bootstrap->run() 
#21 /srv/www/zend/apache2/htdocs/zend.athand.eu/public/pwc/index.php(106): Zend_Application->run() 
#22 {main} 

如果您需要更多的信息,我很樂意給你帶來

+0

我可以證實,有一個Zend服務器/ php.ini中的選項.default_socket「,您可以在其中放置PDO MySQL的套接字位置。不幸的是,至少在OpenSUSE上,這仍然沒有奏效! – 2011-11-07 12:12:08

回答

1

錯誤消息意味着mysql.sock位於其他地方。這種情況經常發生在像Zend CE,MAMP,XAMPP等應用程序中,您應該查看mysql.sock的位置(可能位於Zend CE安裝文件夾的tmp文件夾中),然後您必須在代碼中指定此新位置,通常可以爲套接字位置指定一個可選的參數。

0

我有很強烈的印象,你不轉MySQL的模塊上

到服務器設置 - >一些推廣和尋找它

如果ON看看指令...

0

你可以在配置文件中配置這樣的:「PDO_MYSQL的

resources.db.adapter     = "pdo_mysql" 
resources.db.params.host    = "localhost" 
resources.db.params.username   = "root" 
resources.db.params.password   = "" 
resources.db.params.dbname    = "your db name" 
resources.db.params.driver_options.1002 = "SET NAMES utf8" 
resources.db.params.unix_socket   = "/var/run/mysqld/mysqld.sock"