MySql драйвер не установлен ошибка для приложения Zend - PullRequest
10 голосов
/ 12 июля 2009

Я пытаюсь запустить приложение ZEND на моем сервере apache, работающем под UNIX. Первоначально мой хост не предоставлял поддержку PDO, и я включил его, запросив их по почте. Но теперь я получаю сообщение об ошибке: Драйвер mysql в настоящее время не установлен

Трассировка стека выглядит так:

An error occurred
Application error
Exception information:

Message: The mysql driver is not currently installed
Stack trace:

#0 /home/windchim/worminc/library/Zend/Db/Adapter/Abstract.php(770): Zend_Db_Adapter_Pdo_Abstract->_connect()
#1 /home/windchim/worminc/library/Zend/Db/Adapter/Abstract.php(840): Zend_Db_Adapter_Abstract->quote('aaditya258', NULL)
#2 /home/windchim/worminc/library/Zend/Auth/Adapter/DbTable.php(354): Zend_Db_Adapter_Abstract->quoteInto('`password` = MD...', 'aaditya258')
#3 /home/windchim/worminc/library/Zend/Auth/Adapter/DbTable.php(285): Zend_Auth_Adapter_DbTable->_authenticateCreateSelect()
#4 /home/windchim/worminc/library/Zend/Auth.php(117): Zend_Auth_Adapter_DbTable->authenticate()
#5 /home/windchim/worminc/application/controllers/LoginController.php(117): Zend_Auth->authenticate(Object(Zend_Auth_Adapter_DbTable))
#6 /home/windchim/worminc/library/Zend/Controller/Action.php(503): LoginController->processAction()
#7 /home/windchim/worminc/library/Zend/Controller/Dispatcher/Standard.php(285): Zend_Controller_Action->dispatch('processAction')
#8 /home/windchim/worminc/library/Zend/Controller/Front.php(934): Zend_Controller_Dispatcher_Standard->dispatch(Object(Zend_Controller_Request_Http), Object(Zend_Controller_Response_Http))
#9 /home/windchim/public_html/worm/index.php(47): Zend_Controller_Front->dispatch()
#10 {main}

Как это можно решить? Пожалуйста, помогите

Ответы [ 4 ]

16 голосов
/ 12 июля 2009

PDO, в отличие от функций mysql_ *, поддерживает несколько механизмов баз данных. Для этого ему нужна библиотека драйверов для каждого.

У вас установлено ядро ​​PDO, но нет драйвера MySQL - просто установите его (он называется pdo_mysql), и все будет хорошо.

Ваш php.ini должен иметь один из этих (windows или linux):

extension=php_pdo_mysql.dll
extension=php_pdo_mysql.so
5 голосов
/ 06 ноября 2010

В файле php.ini просто включите следующую строку extension = php_pdo_mysql.dll (означает удалить комментарии перед ним)

тогда будет выполнено правильно.

4 голосов
/ 17 мая 2012

Как уже упоминали другие, вам нужно включить расширение pdo_mysql.

Однако, если запустить php (5.3) как модуль apache (2.2) на моей машине (windows 7), он все равно не будет работать. Я понял, что значение extension_dir в php.ini нужно установить, используя абсолютный путь (относительный просто не будет работать)!

Надеюсь, это поможет некоторым из вас!

0 голосов
/ 17 февраля 2015

F.i. проверить орфографию error_reporting = E_ALL & ~ E_DEPRECATED & ~ E_STRICT (должно быть так на стадии производства)

Если вы печатаете error_reporting (значение); или что-то вроде этого (обычно для тестирования «value» может быть «0»)

Вы можете получить эту ошибку «Драйвер mysql в данный момент не установлен» если вы используете

Так что любая синтаксическая ошибка в php.ini может сгенерировать эту ошибку. Если вы всегда тщательно настраиваете свою систему, вы можете легко запутаться, потому что знаете, что при установке или настройке БД ошибок нет. Если что-то еще верно, так что обратитесь к синтаксической ошибке в php.ini.

...