2015-06-19 131 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