最近帮助公司接手一个已完成的项目,只要搭建起来就可以。搭建上去之后,登陆页面能出来,但是一旦登陆之后的所有访问均报404,从控制器入手,调试,控制器是可以进去,只是M方法执行报错404 ,然后使用直接new model路径同样找不到,一直以为是thinkphp3.2.3命名空间问题。
查看ngnix日志文件 报错
*9286 FastCGI sent in stderr: "PHP message: PHP Fatal error: require_once(): Failed opening required '\Home\Model\GupiaoListModel.class.php' (include_path='.:../php/70/lib/php')

从网上查看了下thinkphp model的调用机制,原来 Model类在实例化的时候默认会链接数据库,并且寻找和类名相同的表名,如果你在此之前没有添加对应的表会报错
如你的Model为:GupiaoListModel,数据库应该存在:xx_gupiao_list表.
解决方案,数据库是导入进去,但是未创建项目里引用数据库的用户名,[尴尬]。。
然后服务器创建项目里的使用的用户名密码,提交后,删除缓存,结果就执行成功了。
本文介绍了一个ThinkPHP项目中出现的404错误问题及其解决方案。问题出现在已搭建完成的项目中,登录后所有页面访问均返回404错误。通过排查发现是由于数据库连接配置缺失导致的Model类实例化失败。

1万+

被折叠的 条评论
为什么被折叠?



