2009-07-12 15 views
9

Estoy tratando de instalar mi aplicación ZEND en mi servidor apache que se ejecuta en UNIX. Inicialmente mi anfitrión didnot dar apoyo DOP, y lo tengo activado mediante la solicitud de ellos con una Mail.But del ahora estoy recibiendo un error que dice El conductor de MySQL no está instalado actualmenteError del controlador MySql no instalado para la aplicación Zend

El seguimiento de pila es como:

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} 

¿Cómo se puede resolver esto? Por favor, ayuda

Respuesta

16

PDO, a diferencia de las funciones mysql_ *, es compatible con una serie de motores de base de datos. Para hacer esto, necesita una biblioteca de controladores para cada uno.

Tiene el "núcleo" de PDO instalado, pero no el controlador MySQL, solo tiene que instalarlo (llamado pdo_mysql) y todo estará bien.

su php.ini debe tener uno de estos (Windows o Linux):

extension=php_pdo_mysql.dll 
extension=php_pdo_mysql.so 
+0

¿Necesito instalar algo o solo una entrada en php.ini? – Arc

+1

@Arkid: Su proveedor de hosting probablemente necesite instalar el módulo de controlador de MySQL PDO por separado y asegurarse de que esté habilitado en la configuración de PHP. – Rob

+0

Si está agregando extensiones en un solo archivo manualmente, recuerde cargar pdo.so antes de pdo_mysql.so, de lo contrario, no funciona. –

4

en el archivo php.ini u sólo permiten siguiente línea extensión = php_pdo_mysql.dll (medios eliminar los comentarios delante de él)

luego se ejecutará correctamente.

4

Como han mencionado otros, debe habilitar la extensión pdo_mysql.

Sin embargo, ejecutar php (5.3) como un módulo apache (2.2) en mi máquina (Windows 7), todavía no funcionaría. Me di cuenta de que el valor de extension_dir en php.ini debe establecerse usando una ruta absoluta (¡lo relativo simplemente no funcionaría)!

Espero que esto ayude a algunos de ustedes!

-1

F.i. comprobar la ortografía de error_reporting = E_ALL & ~ ~ E_DEPRECATED & E_STRICT (debería ser así en la etapa de producción)

Si escribe error_reporting (valor); o algo así (por lo general para las pruebas, "valor" puede ser "0")

puede obtener este error "El conductor de MySQL no está instalado actualmente" si utiliza

Por lo que cualquier error de sintaxis dentro de php.ini podría generar este error. Si configura su sistema con cuidado siempre puede confundirse fácilmente, porque usted sabe, no hay errores en la instalación o configuración de db. Si todo lo demás es correcto, entonces busque un error de sintaxis en php.ini.

Cuestiones relacionadas