为什么我收到错误:表不存在,当我运行我的Zend框架2应用程序到远程服务器


Why I receive error: table doesn't exist, when I run my Zend Framework 2 app to remote server?

我已经创建了一个RESTful zend2应用程序,它在我的本地主机上运行良好。现在我想把它部署到远程服务器上,我得到了一些与适配器相关的错误。我是新的zend框架,我不知道为什么我会得到任何错误,因为我仔细检查了每件事都是正确的。我在网上搜索了这个错误,但是我找不到任何与Zend2相关的有用答案。

我导出了整个localhost数据库并将其导入到远程数据库,并将local.php和global.php中的所有数据库凭据更改为新主机中的新数据库。现在,当我想访问应用程序的数据库部分,在模块(像myApp/用户,它应该给我的数据库中的json格式的用户列表),它给了我以下错误(我很抱歉,如果我给了很多错误信息。我只是想让我的问题更详细):

文件:

/var/www/myApp/vendor/zendframework/zend-db/src/Adapter/Driver/Pdo/Statement.php:244
消息:

Statement could not be executed: 42S02 - 1146 - Table 'myAppDatabase.User' doesn't exist

堆栈跟踪:

#0 /var/www/myApp/vendor/zendframework/zend-db/src/TableGateway/AbstractTableGateway.php(238): Zend'Db'Adapter'Driver'Pdo'Statement->execute()
#1 /var/www/myApp/vendor/zendframework/zend-db/src/TableGateway/AbstractTableGateway.php(208): Zend'Db'TableGateway'AbstractTableGateway->executeSelect(Object(Zend'Db'Sql'Select))
#2 /var/www/myApp/vendor/zendframework/zend-db/src/TableGateway/AbstractTableGateway.php(195): Zend'Db'TableGateway'AbstractTableGateway->selectWith(Object(Zend'Db'Sql'Select))
#3 /var/www/myApp/module/User/src/User/Model/UserTable.php(17): Zend'Db'TableGateway'AbstractTableGateway->select()
#4 /var/www/myApp/module/User/src/User/Controller/UserController.php(40): User'Model'UserTable->fetchAll()
#5 /var/www/myApp/vendor/zendframework/zend-mvc/src/Controller/AbstractRestfulController.php(370): User'Controller'UserController->getList()
#6 [internal function]: Zend'Mvc'Controller'AbstractRestfulController->onDispatch(Object(Zend'Mvc'MvcEvent))
#7 /var/www/myApp/vendor/zendframework/zend-eventmanager/src/EventManager.php(444): call_user_func(Array, Object(Zend'Mvc'MvcEvent))
#8 /var/www/myApp/vendor/zendframework/zend-eventmanager/src/EventManager.php(205): Zend'EventManager'EventManager->triggerListeners('dispatch', Object(Zend'Mvc'MvcEvent), Object(Closure))
#9 /var/www/myApp/vendor/zendframework/zend-mvc/src/Controller/AbstractController.php(118): Zend'EventManager'EventManager->trigger('dispatch', Object(Zend'Mvc'MvcEvent), Object(Closure))
#10 /var/www/myApp/vendor/zendframework/zend-mvc/src/Controller/AbstractRestfulController.php(300): Zend'Mvc'Controller'AbstractController->dispatch(Object(Zend'Http'PhpEnvironment'Request), Object(Zend'Http'PhpEnvironment'Response))
#11 /var/www/myApp/vendor/zendframework/zend-mvc/src/DispatchListener.php(93): Zend'Mvc'Controller'AbstractRestfulController->dispatch(Object(Zend'Http'PhpEnvironment'Request), Object(Zend'Http'PhpEnvironment'Response))
#12 [internal function]: Zend'Mvc'DispatchListener->onDispatch(Object(Zend'Mvc'MvcEvent))
#13 /var/www/myApp/vendor/zendframework/zend-eventmanager/src/EventManager.php(444): call_user_func(Array, Object(Zend'Mvc'MvcEvent))
#14 /var/www/myApp/vendor/zendframework/zend-eventmanager/src/EventManager.php(205): Zend'EventManager'EventManager->triggerListeners('dispatch', Object(Zend'Mvc'MvcEvent), Object(Closure))
#15 /var/www/myApp/vendor/zendframework/zend-mvc/src/Application.php(314): Zend'EventManager'EventManager->trigger('dispatch', Object(Zend'Mvc'MvcEvent), Object(Closure))
#16 /var/www/myApp/public/index.php(21): Zend'Mvc'Application->run()
#17 {main}

之前的例外:PDO例外:

文件:

/var/www/myApp/vendor/zendframework/zend-db/src/Adapter/Driver/Pdo/Statement.php:239
消息:

SQLSTATE[42S02]: Base table or view not found: 1146 Table 'myAppDatabase.User' doesn't exist

堆栈跟踪:

#0 /var/www/myApp/vendor/zendframework/zend-db/src/Adapter/Driver/Pdo/Statement.php(239): PDOStatement->execute()
#1 /var/www/myApp/vendor/zendframework/zend-db/src/TableGateway/AbstractTableGateway.php(238): Zend'Db'Adapter'Driver'Pdo'Statement->execute()
#2 /var/www/myApp/vendor/zendframework/zend-db/src/TableGateway/AbstractTableGateway.php(208): Zend'Db'TableGateway'AbstractTableGateway->executeSelect(Object(Zend'Db'Sql'Select))
#3 /var/www/myApp/vendor/zendframework/zend-db/src/TableGateway/AbstractTableGateway.php(195): Zend'Db'TableGateway'AbstractTableGateway->selectWith(Object(Zend'Db'Sql'Select))
#4 /var/www/myApp/module/User/src/User/Model/UserTable.php(17): Zend'Db'TableGateway'AbstractTableGateway->select()
#5 /var/www/myApp/module/User/src/User/Controller/UserController.php(40): User'Model'UserTable->fetchAll()
#6 /var/www/myApp/vendor/zendframework/zend-mvc/src/Controller/AbstractRestfulController.php(370): User'Controller'UserController->getList()
#7 [internal function]: Zend'Mvc'Controller'AbstractRestfulController->onDispatch(Object(Zend'Mvc'MvcEvent))
#8 /var/www/myApp/vendor/zendframework/zend-eventmanager/src/EventManager.php(444): call_user_func(Array, Object(Zend'Mvc'MvcEvent))
#9 /var/www/myApp/vendor/zendframework/zend-eventmanager/src/EventManager.php(205): Zend'EventManager'EventManager->triggerListeners('dispatch', Object(Zend'Mvc'MvcEvent), Object(Closure))
#10 /var/www/myApp/vendor/zendframework/zend-mvc/src/Controller/AbstractController.php(118): Zend'EventManager'EventManager->trigger('dispatch', Object(Zend'Mvc'MvcEvent), Object(Closure))
#11 /var/www/myApp/vendor/zendframework/zend-mvc/src/Controller/AbstractRestfulController.php(300): Zend'Mvc'Controller'AbstractController->dispatch(Object(Zend'Http'PhpEnvironment'Request), Object(Zend'Http'PhpEnvironment'Response))
#12 /var/www/myApp/vendor/zendframework/zend-mvc/src/DispatchListener.php(93): Zend'Mvc'Controller'AbstractRestfulController->dispatch(Object(Zend'Http'PhpEnvironment'Request), Object(Zend'Http'PhpEnvironment'Response))
#13 [internal function]: Zend'Mvc'DispatchListener->onDispatch(Object(Zend'Mvc'MvcEvent))
#14 /var/www/myApp/vendor/zendframework/zend-eventmanager/src/EventManager.php(444): call_user_func(Array, Object(Zend'Mvc'MvcEvent))
#15 /var/www/myApp/vendor/zendframework/zend-eventmanager/src/EventManager.php(205): Zend'EventManager'EventManager->triggerListeners('dispatch', Object(Zend'Mvc'MvcEvent), Object(Closure))
#16 /var/www/myApp/vendor/zendframework/zend-mvc/src/Application.php(314): Zend'EventManager'EventManager->trigger('dispatch', Object(Zend'Mvc'MvcEvent), Object(Closure))
#17 /var/www/myApp/public/index.php(21): Zend'Mvc'Application->run()
#18 {main}
我将感谢任何帮助解决这个错误。

如果我在这里遗漏了一些信息,请原谅,如果你需要更多的细节,请告诉我。

提前感谢。

你真的确定一切都配置正确吗?:)

如果是,那么可能是您将系统更改为不区分大小写的系统。也许你可以去你的数据库(使用phpmyadmin或类似的检查表是否存在和名称对应)。或者尝试将所有表重命名为小写字符(小写)。

为了避免在移动/复制/迁移时出现问题,无论如何建议仅对使用小写的名称。所以不要像你那样使用驼峰式大小写,而是使用下划线。

因此,尝试将名称更改为my_app_database(表)和user(列),然后测试它是否有效。