-1 votes

J'ai reçu un message d'erreur de Zend lors de l'utilisation de la base de données Zend.

Je reçois le message d'erreur suivant :

Fatal error: Uncaught exception 'Zend\_Exception' with message 'File "Zend\\Db\\Adapter\\Mysql.php" does not exist or class "Zend\_Db\_Adapter\_Mysql" was not found in the file' in C:\\wamp\\www\\VPZ\\Lib\\Zend\\Loader.php:88 
Stack trace: 
#0 C:\\wamp\\www\\VPZ\\Lib\\Zend\\Db.php(247): Zend\_Loader::loadClass('Zend\_Db\_Adapter...')
#1 C:\\wamp\\www\\VPZ\\VPZ\_Grid\\core\\vpz\_datagrid.class.php(16): Zend\_Db::factory('mysql')  
#2 C:\\wamp\\www\\vpz\_test.php(9): VPZ\_DataGrid->ConnectDb(Object(VPZ\_Connector))
#3 {main} thrown in C:\\wamp\\www\\VPZ\\Lib\\Zend\\Loader.php on line 88

Je ne sais pas ce qu'il en est et je trouve le répertoire dans "Zend". \Db\Adapter\Mysql.php "n'a pas mais a Mysqli.php

3voto

farzad Points 4180

Vous essayez de créer un objet Zend_Db avec un adaptateur MySQL, je pense. il n'y a pas d'adaptateur MySQL par défaut pour Zend Framework. vous devriez utiliser l'adaptateur MySQLi, ou Pdo_Mysql. Vérifiez votre code, où vous créez votre objet Zend_Db. Passez 'Pdo_Mysql' comme nom d'adaptateur, au lieu de 'Mysql' :

 $_db = Zend_Db::factory('Mysql', $configArray );
 // uses Mysql adapter, which is not available by default.

 $_db1 = Zend_Db::factory('Mysqli', $configArray );
 // uses Myqli adapter, but needs php_mysqli extension to be installed.

 $_db1 = Zend_Db::factory('Pdo_Mysql', $configArray );
 // uses Pdo Myql adapter which is much better, but needs PDO to be installed, which most of times is installed.

vous pouvez écrire votre propre adaptateur pour Zend_Db. écrivez une classe et étendez le Zend_Db_Adapter_Abstract. mais il y a quelques problèmes pour implémenter l'adaptateur Mysql, parce que l'extension PHP_MySQL (qui fournira à PHP les fonctions mysql_*) ne supporte pas beaucoup de fonctionnalités (comme les procédures stockées du client, ...). donc vous ne pouvez pas implémenter toutes les méthodes que les autres Zend_Db_Adapters ont. J'ai déjà fait cela auparavant. Je voulais utiliser mon application, qui utilisait Zend Framework, et je l'hébergeais sur un serveur sur lequel PDO et Mysqli n'étaient pas installés. J'ai implémenté un adaptateur Mysql pour Zend_Db, mais comme je savais quelles méthodes n'étaient pas implémentées, j'ai évité de les appeler. Le mieux serait d'avoir PDO installé, et d'utiliser des adaptateurs Pdo_*.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X