我在heroku(官方的php buildpack)上使用Symfony assets时遇到了问题。我的代码基于Symfony 2.5和新的3.0文件夹结构,并且使用一个本地的js和css文件(其余的通过cdn加载)。这些文件的加载方式与此处描述的完全相同:http://symfony.com/doc/current/cookbook/assetic/asset_management.html。
在开发环境中一切正常,但是当我将环境更改为生产环境时,我需要运行assetic:dump来强制Symfony将我的assets文件转储到web/css|js文件夹中。我在我的本地机器上进行了测试(将环境切换为生产环境),一切都很好。问题出在heroku上,因为它的短暂文件系统:
当我尝试通过composer post-install-cmd运行assetic:dump --env=prod时,部署成功完成,但每个请求最终都以以下方式结束:
在开发环境中一切正常,但是当我将环境更改为生产环境时,我需要运行assetic:dump来强制Symfony将我的assets文件转储到web/css|js文件夹中。我在我的本地机器上进行了测试(将环境切换为生产环境),一切都很好。问题出在heroku上,因为它的短暂文件系统:
当我尝试通过composer post-install-cmd运行assetic:dump --env=prod时,部署成功完成,但每个请求最终都以以下方式结束:
AH01071: Got error 'PHP message: PHP Fatal error: Uncaught exception
'InvalidArgumentException' with message
'The file "/tmp/build_012d99e7-a14a-4626-afec-3ded3d4baeec/app/config/routing.yml"
如果我不使用 assetic:dump 部署应用程序,那么我的本地 css 和 js 文件当然是不可用的 :/
也许还有其他脚本钩子可以用来转储我的资源?
有什么想法吗?有人在 heroku 和官方 php 构建包上成功使用 assetic:dump 吗?