【问题标题】:Assets under /web/bundles not found in Symfony2 production在 Symfony2 生产中找不到 /web/bundles 下的资产
【发布时间】:2013-10-09 14:40:07
【问题描述】:

我已经使用 CHH heroku-buildpack-php 将 Symfony2 应用程序部署到 Heroku。

将代码推送到 heroku 后,我使用 'heroku run bash' 来:
1) php 应用程序/控制台缓存:清除 --env=prod
2) php 应用程序/控制台资产:安装 --symlink
3) php 应用程序/控制台资产:转储 --env=prod

无论如何,/web/bundles/... 上的转储资产未提供服务,它们显示 404 Not Found(我的意思是,未分别找到每个资产)。但例如,/web/favicon.ico 已正确提供给客户端。

这在开发模式下不会发生,在我的本地主机中。

可能是服务器上的任何权限问题?我应该在 Procfile 中运行这些命令吗?如何运行?

提前致谢。

【问题讨论】:

    标签: php bash symfony heroku procfile


    【解决方案1】:

    终于想出了答案: 一旦部署过程完成,Heroku 不允许您修改文件系统,所以我使用 Profile 文件告诉 Heroku 运行我运行这些命令的 install.sh。

    Procfile 看起来像这样:

        web: sh ./install.sh
    

    然后安装.sh:

        php app/console cache:clear --env=prod
        php app/console assets:install --env=prod
        php app/console assetic:dump --env=prod
        php app/console doctrine:schema:update --force
        php app/console doctrine:fixtures:load --append
        sh ./bin/run
    

    最后一行非常重要,因为它告诉 Heroku 继续部署过程。

    【讨论】:

      猜你喜欢
      • 2017-05-25
      • 2014-03-25
      • 2014-05-13
      • 1970-01-01
      • 2016-02-29
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-07-16
      相关资源
      最近更新 更多