2015-06-19 128 views
0

我试着开始我对symfony 2的教育并开始了它的教程。我尝试的第一件事之一是安装symfony 2并配置。它 当我试图访问http://127.0.0.1:8000/我越来越不完整的网站,出现错误:Symfony 2:“没有找到”GET /“的路由 - 新安装时出错

ERROR - Uncaught PHP Exception Symfony\Component\HttpKernel\Exception\NotFoundHttpException: "No route found for "GET /"" at /home/spectator/webprojects/cls/app/cache/dev/classes.php line 2059

事情到目前为止,我已经尝试:清除缓存(PHP应用程序/控制台高速缓存:明确--env = PROD --no-debug),递归地将文件夹cls(symfony 2文件夹)的权限更改为775甚至777(用于诊断目的),将“/”路由添加到routing.yml和routing_dev.yml,重新安装并重新chmod symfony 2 。

+0

新安装很可能意味着您至少使用了@ 2.7版本的Symfony。如果这是正确的,你的路由应该被配置为默认使用注释,如果你还没有改变它的话。打开你的DefaultController并搜索'@Route()'注释。 – Artamiel

+0

是的,更具体的说它是v2.7.1。 DefaultController?我无法在“cls”文件夹中的任何位置找到此文件。 – spectatorx

+0

你应该有一个名为'src'的目录。这是你的包被定义的地方。在它里面你应该有你的默认包 - 从@ 2.6或@ 2.7开始,它被称为'AppBundle'。里面是一个文件夹'Controller',你可以找到你的DefaultController。 – Artamiel

回答

1

路由尝试http://localhost:8000/app/example

新鲜安装具有用于根路径没有路由“/”

+0

是的,谢谢你的回答,这是比解决方案更好的解决方案,说实话,这个问题没有真正的解决方案,因为这只是教程设计中可怕的失败。无论如何,这应该被放在教程,而不是http:// localhost:8000/ – spectatorx

0

首先你需要设置一条缺省路由 编辑修改routing.yml 应用程序/配置/ routing.yml中

app: 
resource: @AppBundle/Controller/ # bundle name/Controller name 
type:  annotation # type of routing or 
# app/config/routing.yml # file routing 


app: 
resource: @AppBundle/Controller/ 
prefix:/

你可以学习http://symfony.com/doc/current/book/routing.html

+0

这就是我在一些教程中讨厌的东西:首先,你需要从几章进一步获得知识:D看起来我需要做一些路由,会尝试做这样的事情。 – spectatorx

0

更多的默认安装不来了默认路由为“/”。

示例性控制器只定义的

@Route("/app/example", name="homepage") 
2

在过去,一个新鲜Symfony的安装也包括一些简单的演示代码,以了解框架如何工作。几个月前,我们决定通过以下方式更改此行为:

  1. 新鲜的Symfony安装不再包含任何演示代码。
  2. 针对学习该框架的人员发布了一个新的“Symfony演示应用程序”(关于此演示应用程序的read more)。

如果使用Symfony Installer,你应该做到以下几点:

  1. 在学习的Symfony,执行symfony demo命令
  2. 当创建一个新的Symfony项目,执行symfony new my_project命令
+0

这应该改回到以前的状态,或者至少应该正式编辑官方指南,否则会有更多的新人以与我一样的方式混淆。 – spectatorx

-1

我有同样的问题。只需在文件顶部添加<?php即可。看起来好像我们没有指定它s

+0

在文件顶部添加<?php –

+0

您可以编辑您的答案并添加缺少的句子部分:-) BTW:查看格式化帮助,了解如何格式化代码片段(select和ctrl-k帮助) – kleopatra