上传使用 cakephp 创建的应用程序后,我发现我必须重命名数据库。我相应地重命名了我的数据库并更改了“config”文件夹中 database.php 文件中的设置。但是我的应用程序仍然没有运行。我看到这条错误消息“缺少数据库表”“错误:找不到模型主题的数据库表 tbl_topics。”
我已经仔细检查了数据库中 tbl_topics 的存在(它在数据库中)但是应用程序说“找不到表”可能是什么问题,请帮助我......
确保host/user/pass
您在 config.php 文件中设置的可以访问该数据库和表
您也可以尝试运行cake schema generate --dry
,这将解决您可能遇到的任何连接问题
还可以查看您app/tmp/logs
的有关您遇到的问题的一些额外信息
获取您用于 cakephp 的用户名和密码,它是数据库连接,并从命令行连接到数据库。我假设您使用的是 unix 类型的系统和 mysql?
mysql --user=user_name --password=your_password db_name
...然后尝试运行一个简单的选择:
SELECT * FROM tbl_topics
如果您在那里遇到错误,它至少会确定这是一个低级别的数据库问题,并且可能的解决方案是您需要授予该用户名权限以从该数据库中进行选择。您当前对该用户的访问级别可能正在授予对旧名称下的数据库的访问权限。
您可能也上传了缓存文件。确保删除 /app/tmp/cache/* 中的所有文件
警告:不要删除文件夹,只删除文件!
另外,请确保您的 tmp 文件夹和所有子文件夹都是全局可写的。
:-) 终于明白了.... :-D
我忘记在主服务器上分配用户访问我的应用程序数据库的权限。分配权限后一切正常。
无论如何,谢谢大家的宝贵答案......它帮助我获得了一些关于 cakephp 的额外知识。
最后一个想法是检查您的模型缓存。我不知道为什么这会影响您的连接,但值得一看app/tmp/cache
。