php - 为什么我在远程服务器上运行 Zend Framework 2 应用程序时收到错误 : table doesn't exist,?

标签 php mysql model-view-controller zend-framework2

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

我导出了整个本地主机数据库并将其导入到远程数据库,并将 local.php 和 global.php 中的所有数据库凭据更改为新主机中的新数据库。现在,当我想访问应用程序的数据库部分时,在模块中(比如 myApp/user 它应该以 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}

以前的异常(exception)情况: 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(列),然后测试它是否有效。

关于php - 为什么我在远程服务器上运行 Zend Framework 2 应用程序时收到错误 : table doesn't exist,?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32624302/

相关文章:

php - 表 1 中的标志字段也适用于表 2

使用 LIKE 和 IN 的 MYSQL 子查询

javascript - 将 yui 与 javascriptmvc 集成

php - 向 Paypal 电子邮件链接添加附加变量

php - 子类异常

php - PDO,准备声明但我不绑定(bind)值

mysql - sql查询将天数添加到特定列日期

php - Hadoop 在我的项目中是否派上用场?

php - Web 2.0 PHP 应用程序的帮助

java - JApplet多页面应用