项目是在之前的笔记本上开发的,后来换了电脑,重新clone项目下来运行,出现了模板不存在的错误,经过排查解决问题,仅以此文章记录下来
配置好apache + php + mysql 环境后运行项目,这里可以访问首页。
当我点击商品详情页面的时候出错,提示模块不存在,如下图:
之前遇到过Windows系统下的项目部署到类Unix系统下遇到模板文件不存在:/xxx/xxxx 这样的错误,让我误以为是模板大小写的问题导致无法访问。
经过更改后还是无法访问,再仔细查看错误信息,原来报错的是模块不存在: xxx。然后想起类 了 是原来的环境配置中开启了apache rewrite 模块,隐藏了index.php
我现在的Mac开发环境没有开启rewrite模块
找到了问题所在,问题解决
小结:
- 出现问题一定要认真仔细查看错误信息
- 找到了问题所在,才能更好地解决问题
2018/3/17 根据评论更新一下
回头看一下上面写的博客,真的是错漏百出,感觉对不起大家,删掉重新写也没有必要,错误的记录也要留下,给自己提醒。
- 是我的Mac开发环境没有开启
Apache
rewrite
重新模块,导致 没有隐藏index.php
入口文件, - 商品url是用
{:url()}
方法生成的,根据tp5开发手册,“如果你的环境支持REWRITE,那么生成的URL地址会变为:”-
/blog/5/name/thinkphp.html
是没有index.php
入口文件的 - 这时,如果环境没有开启 重写模块 会导致url找不到对应的资源文件
- 提示错误信息
模块不存在:xxxxx
-
- 只要确保,
url()
方法形式没有写错,有对应的资源文件,把 rewrite 模块开启就可以了- 也可以选择不开启rewrite模块,只需更改URL路由生成就可以了,在tp5手册的
URL生成
这一节有说 截图给大家看
- 也可以选择不开启rewrite模块,只需更改URL路由生成就可以了,在tp5手册的