我是一名cakephp新手,我无法通过浏览器查看view文件夹下的文件。
我使用cakephp控制台来烘焙模型,控制器和视图。 (例如:控制器的Invoices_controller.php,模型的invoice.php和views文件夹下的发票文件夹)。根据我读过的教程,我可以通过输入http://localhost/myProject/invoices
来访问发票视图
(发票文件夹里面没有index.php ..但教程显示它仍然可以显示页面。不知道他们是怎么做的)
我的发票的路径是myProject / views / invoices,发票文件夹中有add.ctp,index.ctp,edit.ctp文件。
当我输入http://localhost/myProject/invoices
答案 0 :(得分:2)
您对在安装cakephp时如何处理请求的Web服务器缺乏了解。假设我们使用apache。 在cake的文件夹结构中,您可以在根目录,应用程序和webroot目录中看到.htaccess文件,其中包含url重写规则。最后,对cakephp网站的正常请求将转换为http://site.url.root/app/webroot/index.php?url=original.url
简而言之,要从您的角度理解它: index.php调用所需的php文件,并且至少在内存中使用所需的模型和方法构建了cakephp app对象。然后app对象让我们说启动并调用它的方法(模型,控制器和视图方法),最后它将结果返回给apache什么服务给你。
因此原始网址路径是“不存在的”虚拟网址。
答案 1 :(得分:1)
如果你输入http://localhost/myProject/,你会得到一个蛋糕介绍页吗?如果是这样,它突出了任何问题?
听起来好像你没有正确设置Apache。我不知道你正在使用什么操作系统,但是可能值得查看为Ubuntu编写的这个链接,以确保一切顺利:http://leoponton.blogspot.com/2010/05/getting-cakephp-up-and-running-on.html
答案 2 :(得分:1)
我解决了同样的问题。 如果你使用的是Windows 7操作系统,wamp服务器,cakephp 2.2.3。那么
goto apache - > http.conf - >打开 - >搜索mod_rewrite - >取消注释行LoadModule rewrite_module modules/mod_rewrite.so
现在重新启动服务器,现在它应该可以正常工作。
答案 3 :(得分:0)
这可以解决您的问题。确保重写模块已打开。此外,当您将虚拟主机指向myProject时,它应该是cakephp的APP文件夹。如果你想在同一个核心上运行多个项目,你可以这样设置它们:
/var/www/cake
/var/www/html/myProject
/var/www/html/myProject2
/ var / www / cake目录是删除蛋糕核心的地方。在此目录下,您将拥有蛋糕,应用程序,插件,供应商等,myProject(2)目录将成为应用程序目录的内容。
现在,要使其工作,您需要转到/var/www/html/myProject/webroot/index.php并编辑它以指向/ var / www / cake中的cake目录。然后,当重写指向webroot中的index.php时,这将加载核心。你应该好好去!