2012-06-10 2 views
0

Я новичок в ZendFramework. Я использую windowsXP и xampp. Я пытаюсь создать небольшое приложение с помощью ZendFramework. Но я получил следующие ошибки.Строительство с использованием ZendFramework

Fatal error: Uncaught exception 'Zend_Db_Table_Exception' with message 'No adapter found for Users' in E:\xampp\php\ZendFramework\library\Zend\Db\Table\Abstract.php:755 
Stack trace: 
#0 E:\xampp\php\ZendFramework\library\Zend\Db\Table\Abstract.php(739): Zend_Db_Table_Abstract->_setupDatabaseAdapter() 
#1 E:\xampp\php\ZendFramework\library\Zend\Db\Table\Abstract.php(268): Zend_Db_Table_Abstract->_setup() 
#2 E:\xampp\php\ZendFramework\library\Zend\Db\Table.php(77): Zend_Db_Table_Abstract->__construct(Array) 
#3 E:\xampp\htdocs\testproject\application\controllers\IndexController.php(7): Zend_Db_Table->__construct() 
#4 E:\xampp\php\ZendFramework\library\Zend\Controller\Action.php(516): IndexController->indexAction() 
#5 E:\xampp\php\ZendFramework\library\Zend\Controller\Dispatcher\Standard.php(295): Zend_Controller_Action->dispatch('indexAction') 
#6 E:\xampp\php\ZendFramework\library\Zend\Controller\Front.php(954): Zend_Controller_Dispatcher_Standard->dispatch(Object(Zend_Controller_Request_Http), Object(Zend_Controller_Response_ in E:\xampp\php\ZendFramework\library\Zend\Db\Table\Abstract.php on line 755 

Может ли кто-нибудь сказать, в чём это решение?

Благодаря

[production] 
phpSettings.display_startup_errors = 0 
phpSettings.display_errors = 0 
includePaths.library = APPLICATION_PATH "/../library" 
bootstrap.path = APPLICATION_PATH "/Bootstrap.php" 
bootstrap.class = "Bootstrap" 
appnamespace = "Application" 
resources.frontController.controllerDirectory = APPLICATION_PATH "/controllers" 
resources.frontController.params.displayExceptions = 0 

[staging : production] 

[testing : production] 
phpSettings.display_startup_errors = 1 
phpSettings.display_errors = 1 

[development : production] 
phpSettings.display_startup_errors = 1 
phpSettings.display_errors = 1 
resources.frontController.params.displayExceptions = 1 

Это содержание Application.ini файла.

<?php 

class IndexController extends Zend_Controller_Action 
{ 
    public function indexAction() 
    { 
     $users = new Users(); 
     $data = $users->fetchAll($users->select()); 
     $this->view->data = $data; 
    } 
} 

?> 

Это содержание IndexController.php файла

@RockyFord

ли вы имеете в виду, что application.ini файл хотел бы ниже ??

[production] 
    phpSettings.display_startup_errors = 0 
    phpSettings.display_errors = 0 
    includePaths.library = APPLICATION_PATH "/../library" 
    bootstrap.path = APPLICATION_PATH "/Bootstrap.php" 
    bootstrap.class = "Bootstrap" 
    appnamespace = "Application" 
    resources.frontController.controllerDirectory = APPLICATION_PATH "/controllers" 
    resources.frontController.params.displayExceptions = 0 

    resources.db.adapter = "pdo_Mysql" //PDO is best option, other adapters are available. 
    resources.db.params.username = "your_username" 
    resources.db.params.password = "your_password" 
    resources.db.params.dbname = "your_database_name" 
    resources.db.isDefaultTableAdapter = true //this line is optional but recommended. 


    [staging : production] 

    [testing : production] 
    phpSettings.display_startup_errors = 1 
    phpSettings.display_errors = 1 

    [development : production] 
    phpSettings.display_startup_errors = 1 
    phpSettings.display_errors = 1 
    resources.frontController.params.displayExceptions = 1 
+0

Можете ли вы разместить свой application.ini? (** без ** любой конфиденциальной информации, такой как пароли, конечно) –

+0

И, возможно, также разместите строку в 'IndexController', где вы создаете экземпляр объекта Zend_Db_Table. –

+0

отсутствует конфигурация БД для Zend_Db_Table? – opHASnoNAME

ответ

2

Предполагая, что вы используете mysql, добавьте эти строки в свой application.ini в разделе «Производство».

resources.db.adapter = "pdo_Mysql" //PDO is best option, other adapters are available. 
resources.db.params.username = "your_username" 
resources.db.params.password = "your_password" 
resources.db.params.dbname = "your_database_name" 
resources.db.isDefaultTableAdapter = true //this line is optional but recommended. 
+0

@Michael Irey, Я новичок в ZendFramework. Я не мог понять ваши слова. – Foysal

Смежные вопросы