我是symfony的新手,我按照本教程进行了操作: http://it.siciarek.pl/docs/references/howtostart.html
在安装过程结束时(摆脱ACME之后)的某个时刻,我已经创建了一个新的Bundle
php app/console generate:bundle --bundle-name=AgcoukMainBundle --namespace=Agcouk/MainBundle --dir=src --format=annotation --structure --no-interaction
我的DefaultController看起来像:
namespace Agcouk\MainBundle\Controller;
use Symfony\Bundle\FrameworkBundle\Controller\Controller;
use Sensio\Bundle\FrameworkExtraBundle\Configuration\Route;
use Sensio\Bundle\FrameworkExtraBundle\Configuration\Template;
class DefaultController extends Controller
{
/**
* @Route("/", name="home")
* @Template()
*/
public function indexAction()
{
return array();
}
}
和我的routing.yml(app / config / routing.yml)
agcouk_main:
resource: "@AgcoukMainBundle/Controller/"
type: annotation
prefix: /
现在,尝试访问页面sf2 /(sf2 / config.php有效!)我收到404错误。
我甚至通过控制台调试路线(php app / console router:debug home),一切看起来都不错
[router] Route "home"
Name home
Path /
Host ANY
Scheme ANY
Method ANY
Class Symfony\Component\Routing\Route
Defaults _controller: Agcouk\MainBundle\Controller\DefaultController::indexAction
Requirements NO CUSTOM
Options compiler_class: Symfony\Component\Routing\RouteCompiler
Path-Regex #^/$#s
(我甚至尝试在routing.yml中指定Controller文件名,没有任何变化,即使调试也会产生相同的结果)。
有任何线索吗? 感谢
答案 0 :(得分:0)
首先,您应该使用Symfony的官方文档... www.symfony.com
您所遵循的本教程甚至将框架的名称写错了:" Symphony",所以可能已经过时了。
您是否尝试清除缓存? php app/console cache:clear --env=dev
答案 1 :(得分:0)
受此帖的启发: symfony2 - how to switch from "dev" to "prod"?
我终于解决了这个问题。我手动删除了app / cache / dev和app / cache / prod中的文件,然后我更改了prod缓存文件夹的所有者
sudo chown www-data app/cache/prod
现在,指向我的虚拟主机(sf2),页面加载时没有404错误。