在我的项目中,我使用各种图像。
我有用于装饰网站的静态图像。我把它们放在assets/images
,然后用webpack-encore
在public/build/images
中生成它们。
而这些图片,我用LiipImagineBundle
管理它们的大小
所以我在Heroku上部署了我的项目。它安装捆绑包,node_modules,从资产使用 webpack-encore 生成文件,并生成数据库
作曲家.json:
"compile": [
"php bin/console doctrine:schema:drop --full-database --force --env=prod",
"php bin/console d:m:m",
"php bin/console d:f:l --no-interaction --env=PROD"
]
package.json:
"scripts": {
"dev-server": "encore dev-server",
"dev": "encore dev",
"watch": "encore dev --watch",
"build": "encore production --progress",
"heroku-postbuild": "node_modules/.bin/encore production"
},
但是,当我从Heroku使用应用程序时,该网站可以工作,但必须通过LiipImagineBundle显示的图像却不是。相反,我有一个 500 错误,告诉我资源不存在。实际上,如果我进入"来源"部分,在公共/构建/图像中,会丢失图像。然而,它们必须生成,因为在本地(在开发中(,一切都运行良好。
我所有需要的 prod 捆绑包都在"require"而不是">require-dev"中。而且我的 package.json 中没有 devDependencies,一切都在">迂腐"中
有没有人遇到过同样的问题?
您可以使用 heroku-buildpack
它使用Composer进行依赖管理,支持PHP或HHVM(实验性(作为运行时,并提供Apache2或Nginx Web服务器选择。