3

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

将代码推送到 heroku 后,我使用 'heroku run bash' 来:
1) php app/console cache:clear --env=prod
2) php app/console assets:install --symlink
3) php app/console assets:转储 --env=prod

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

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

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

提前致谢。

4

1 回答 1

2

最后得出了答案:一旦部署过程完成,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 继续部署过程。

于 2014-01-10T19:20:29.313 回答