我已经使用CHH heroku-buildpack-php向Heroku部署了一个Symfony2应用程序。
将代码推送到heroku之后,我使用'heroku run bash'来:
1)php app / console cache:clear --env = prod
2)php app / console资产:安装--symlink
3)php app / console assetic:dump --env = prod
无论如何,/ web / bundles / ...上的转储资产都没有提供,它们显示404 Not Found(我的意思是,找不到每个资产)。但是,例如,/ web / favicon.ico已正确地提供给客户端。
这不是在开发模式下,在我的localhost中发生的。
可能是服务器上的任何权限问题?我应该在Procfile中运行这些命令吗?
提前致谢。
答案 0 :(得分: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采用部署过程。