2011-01-20 102 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"