thinkphp5 错误调试之模块不存在

时间:2024-03-27 10:53:42

项目是在之前的笔记本上开发的,后来换了电脑,重新clone项目下来运行,出现了模板不存在的错误,经过排查解决问题,仅以此文章记录下来

配置好apache + php + mysql 环境后运行项目,这里可以访问首页。
thinkphp5 错误调试之模块不存在

当我点击商品详情页面的时候出错,提示模块不存在,如下图:
thinkphp5 错误调试之模块不存在

之前遇到过Windows系统下的项目部署到类Unix系统下遇到模板文件不存在:/xxx/xxxx 这样的错误,让我误以为是模板大小写的问题导致无法访问。
经过更改后还是无法访问,再仔细查看错误信息,原来报错的是模块不存在: xxx。然后想起 了 是原来的环境配置中开启了apache rewrite 模块,隐藏了index.php 我现在的Mac开发环境没有开启rewrite模块

找到了问题所在,问题解决
thinkphp5 错误调试之模块不存在

小结:

  • 出现问题一定要认真仔细查看错误信息
  • 找到了问题所在,才能更好地解决问题

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生成 这一节有说 截图给大家看
      thinkphp5 错误调试之模块不存在