Zend应用程序没有安装MySql驱动程序错误

时间:2009-07-12 09:42:57

标签: php mysql zend-framework pdo zend-db

我正在尝试将我的ZEND应用程序放在我在UNIX上运行的apache服务器上。最初我的主机没有给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}

如何解决这个问题?请帮忙

5 个答案:

答案 0 :(得分:16)

与mysql_ *函数不同,PDO支持许多数据库引擎。 为此,它需要每个驱动程序库。

你已经安装了PDO的“核心”,但没有安装MySQL驱动程序 - 只需安装(称为pdo_mysql),一切都会好的。

你的php.ini应该有其中一个(windows或linux):

extension=php_pdo_mysql.dll
extension=php_pdo_mysql.so

答案 1 :(得分:5)

在php.ini文件中,你只需启用以下行 extension = php_pdo_mysql.dll(表示删除前面的注释)

然后它将被正确执行。

答案 2 :(得分:4)

正如其他人所提到的,您需要启用pdo_mysql扩展名。

然而,在我的机器(Windows 7)上运行php(5.3)作为apache(2.2)模块,它仍然无法正常工作。我想出php.ini中的extension_dir值需要使用绝对路径设置(相对只是不起作用)!

希望这有助于你们中的一些人!

答案 3 :(得分:0)

mysql 扩展已被弃用并在 php7 中完全删除

您应该检查 php-mysql 包。如果还没有安装,让我们运行 sudo apt-get install php-mysql

答案 4 :(得分:-1)

F.i。检查拼写 error_reporting = E_ALL& ~E_DEPRECATED& 〜E_STRICT (在制作阶段应该是这样的)

如果您输入 error_reporting(value); 或类似的东西(通常用于测试,“值”可能是“0”)

你可能会犯这个错误 “目前没有安装mysql驱动程序” 如果你使用

因此php.ini中的任何语法错误都可能产生这个错误。 如果您仔细设置系统,您可能会很容易混淆,因为您知道,数据库安装或设置没有错误。 如果everthing else是正确的,那么请在php.ini中找到语法错​​误。