为什么我的Symfony2安装404ing,当我访问应用程序.php?

2022-08-30 12:27:59

在Symfony2中,当通过app_dev.php本地访问我的应用程序时,一切正常。但是,当我访问应用程序时.php它404s:

哎呀!发生错误

服务器返回“404未找到”。

有些东西坏了。请发送电子邮件至 [email],让我们知道发生此错误时您正在做什么。我们将尽快修复它。抱歉


答案 1

新的 symfony 2 安装不包含生产环境的任何路由。如果看一下 下,您会注意到在演示应用程序中看到的所有路由都是为开发而定义的。如果您希望在 上测试演示,则必须首先将路由从 复制到 ,并启用 under you:app/config/routing_dev.ymlapp.phprouting_dev.ymlrouting.ymlAcmeDemoBundleAppKernel.php

$bundles = array(
        new Symfony\Bundle\FrameworkBundle\FrameworkBundle(),
        new Symfony\Bundle\SecurityBundle\SecurityBundle(),
        new Symfony\Bundle\TwigBundle\TwigBundle(),
        new Symfony\Bundle\MonologBundle\MonologBundle(),
        new Symfony\Bundle\SwiftmailerBundle\SwiftmailerBundle(),
        new Symfony\Bundle\DoctrineBundle\DoctrineBundle(),
        new Symfony\Bundle\AsseticBundle\AsseticBundle(),
        new Sensio\Bundle\FrameworkExtraBundle\SensioFrameworkExtraBundle(),
        new JMS\SecurityExtraBundle\JMSSecurityExtraBundle(),
+       new Acme\DemoBundle\AcmeDemoBundle()
    }

if (in_array($this->getEnvironment(), array('dev', 'test'))) {
-       $bundles[] = new Acme\DemoBundle\AcmeDemoBundle();
        $bundles[] = new Symfony\Bundle\WebProfilerBundle\WebProfilerBundle();
        $bundles[] = new Sensio\Bundle\DistributionBundle\SensioDistributionBundle();
        $bundles[] = new Sensio\Bundle\GeneratorBundle\SensioGeneratorBundle();
    } 

(+ 是您应该添加的行,- 是您应该删除的行)


答案 2

我遇到了同样的问题,我刚刚清除了缓存。 这解决了我的问题。php app/console cache:clear --env=prod

不要将属性设置为 true:它将激活调试模式,不建议用于 prod。$ kernel = new AppKernel ('prod', TRUE);


推荐