symfony2 - 如何从“dev”切换到“prod”?

2022-08-30 09:53:55

我下载了symfony2,我能够从app_dev.php开始运行它。

但是当我从应用程序开始时.php,然后我得到一个错误页面404。

应用程序.php当然在那里,它被执行。

该错误显然发生在应用程序中最后一行代码之后的某个地方.php:

$kernel->handle(Request::createFromGlobals())->send();

我想在我必须配置的地方有一个开关。

编辑

按照GeLo的建议,我将生产版本的路由添加到app/config/routing.yml。

_welcome:
    resource: "@AcmeDemoBundle/Resources/config/routing.yml"
    prefix:     /

我创建了src/Acme/DemoBundle/Resources/config/routing.yml,内容如下:

bla:
    pattern: /
    defaults: {_controller:AcmeDemoBundle:Demo:index}

在我放置了一个DemoController::indexAction()die(__FILE__);

什么都没有;我仍然从应用程序获得404.php!?

编辑关于答案:

./app/console --env=prod cache:clear

做了伎俩。注意环境参数。


答案 1

默认情况下,Symfony 2 随演示包一起提供,该捆绑包只能从开发环境中访问。

生产环境不包含任何路由,因此正常情况下会出现 404 错误页面。

编辑:

您确定您的捆绑包已在 AppKernel 中启用.php?

如果是,请使用以下命令清除缓存:./app/console cache:clear

使用以下命令检查路由是否启用:./app/console router:debug


答案 2

改为更改所有者。
sudo chown www-data:www-data -R app/cache
sudo chown www-data:www-data -R app/logs

这让浏览器拥有文件夹。语法为:
chown <USER>:<GROUP> <SWITCH> <DIRECTORY>


推荐