我正在尝试将我的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}
如何解决这个问题?请帮忙
答案 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中找到语法错误。