10
votes

MySQL Pilote non installé Erreur pour Zend Application

J'essaie d'obtenir mon application Zend sur mon serveur Apache exécuté sur UNIX. Initialement, mon hôte ne donnait pas de support PDO, et je l'ai eu activé en leur demandant un mail.mais maintenant, je reçois maintenant une erreur disant Le pilote MySQL n'est pas installé actuellement strong>

la trace de la pile est comme : P>

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 commentaires

5 Réponses :


16
votes

PDO, contrairement aux fonctions MySQL_ * prend en charge un certain nombre de moteurs de base de données. Pour ce faire, il a besoin d'une bibliothèque de pilotes pour chacun.

Vous avez le "CORE" de PDO installé mais pas le pilote MySQL - vient d'obtenir cela installé (appelé pdo_mysql) et tout ira bien. P>

Votre php.ini doit en avoir l'une d'entre elles (Windows ou Linux): P>

extension=php_pdo_mysql.dll
extension=php_pdo_mysql.so


3 commentaires

Dois-je obtenir quelque chose d'installer ou juste une entrée à la php.ini?


@KID: Votre fournisseur d'hébergement devra probablement installer le module de pilote MySQL PDO distinct et vous assurera qu'il est activé dans la configuration PHP.


Si vous ajoutez manuellement des extensions dans un fichier unique, rappelez-vous de charger PDO.SO avant PDO_MYSQL.SO, sinon cela ne fonctionne pas.



5
votes

dans le fichier php.ini u vient d'activer la ligne suivante Extension = php_pdo_mysql.dll (signifie supprimer les commentaires devant elle)

alors il sera exécuté correctement.


0 commentaires

4
votes

Comme d'autres l'ont mentionné, vous devez activer l'extension PDO_MYSQL.

Cependant, exécutez PHP (5.3) sous forme de module Apache (2.2) sur ma machine (Windows 7), cela ne fonctionnerait toujours pas. J'ai compris la valeur extension_dir dans PHP.ini doit être définie à l'aide d'un chemin absolu (relatif ne fonctionnerait tout simplement pas)!

J'espère que cela aide certains d'entre vous!


0 commentaires

-2
votes

f.i. vérifier l'orthographe de error_reporting = e_all & ~ e_depecated & ~ e_strict (devrait être comme celui-ci au stade de la production)

Si vous tapez error_rporting (valeur); ou quelque chose comme ceci (généralement pour tester, "valeur" pourrait être "0")

Vous pouvez obtenir cette erreur "Le pilote MySQL n'est pas installé" Si vous utilisez

Donc, toute erreur de syntaxe dans le PHP.ini pourrait générer cette erreur. Si vous configurez soigneusement votre système, vous pourriez toujours vous confondez facilement, car vous savez, il n'y a aucune erreur d'installation ou de paramètres de DB. Si tout le reste est correct, alors optez pour une erreur de syntaxe dans php.ini.


0 commentaires

0
votes

mySQL L'extension a été obsolète et est totalement supprimée dans PHP7

Vous devriez vérifier pHP-mysql package. Si non encore installez, laissez-le exécuter sudo apt-get Installer php-mysql


0 commentaires