connecing to mysql with Zend Server CE

岁酱吖の 提交于 2019-12-11 13:37:44

问题


I have recently installed Zend Server Community Edtion on my Opensuse development server and it worked fine. The only problem is that it is not connecting to my MySql server!! It keeps throwing in the error:

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. But i still have no clue what to do.. Do i need to change some apache config file? Or change mysql config?

I really need help because I have a big project to work on, I have already searched google but without any luck.

Here is the complete stack trace for your 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}

If you need any more information I'd be happy to give you them


回答1:


The error message means that the mysql.sock is located elsewhere. This happens really frequently with app like Zend CE, MAMP, XAMPP, etc you should take a look where mysql.sock is located (maybe in a tmp folder in Zend CE installation folder) and then you have to specify this new location in your code, you can generally specify an optional param for the socket location.




回答2:


I got very strong impression that you did not turn on MySQL module

go to Server Setup -> Extentions and look for it

If ON look at the directives ...




回答3:


You could configure this in a config file :

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"



回答4:


This may solve the issue

http://forums.zend.com/viewtopic.php?f=8&t=21873



来源:https://stackoverflow.com/questions/4747376/connecing-to-mysql-with-zend-server-ce

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!