подключение к mysql с Zend Server CE - PullRequest
1 голос
/ 20 января 2011

Я недавно установил Zend Server Community Edtion на свой сервер разработки Opensuse, и он работал нормально. Единственная проблема заключается в том, что он не подключается к моему серверу MySql !! Он продолжает выдавать ошибку:

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

Посмотрите в / tmp / и да, mysql.sock нет. Но я до сих пор понятия не имею, что делать .. Мне нужно изменить какой-нибудь конфигурационный файл apache? Или изменить конфиг mysql?

Мне действительно нужна помощь, потому что у меня большой проект для работы, я уже искал в Google, но безуспешно.

Вот полная трассировка стека для вашего интереса:

#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}

Если вам нужна дополнительная информация, я с удовольствием предоставлю вам ее

Ответы [ 4 ]

1 голос
/ 20 января 2011

Сообщение об ошибке означает, что mysql.sock находится в другом месте. Это происходит очень часто с такими приложениями, как Zend CE, MAMP, XAMPP и т. Д. Вы должны посмотреть, где находится mysql.sock (возможно, в папке tmp в папке установки Zend CE), а затем вам нужно указать это новое местоположение в вашем коде. обычно вы можете указать необязательный параметр для местоположения сокета.

0 голосов
/ 14 сентября 2011

Это может решить проблему

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

0 голосов
/ 21 января 2011

Вы можете настроить это в файле конфигурации:

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"
0 голосов
/ 20 января 2011

У меня сложилось очень сильное впечатление, что вы не включили модуль MySQL

. Зайдите в Настройка сервера -> Расширения и найдите его

Если ON, посмотрите директивы ...

...