我们的网站上有一张我们不得不改变的图片,因为它是.ico图片,而谷歌浏览器等浏览器并没有广泛支持。它也很安静,因此需要减小尺寸。所以我们已将图像更改为info-icon.png而不是server-image.ico。
所以,现在我们已经改变了,运行以下命令:
php app/console assetic:dump --env=prod --no-debug
php app/console assets:install ../web --env=prod --no-debug
php app/console cache:clear --env=prod --no-debug
php app/console cache:warmup --env=prod --no-debug
所有人都回来了,并没有报告任何问题。当我们访问我们的网站并查看源代码时,我们可以看到图片网址已更改为info-icon.png,但该链接是404错误代码。图像的树枝代码如下:
{% image output="/images/info-icon.png"
'@MyBundle/Resources/public/images/info-ico.png'
%}
<img src="{{ asset_url }}" alt="">
{% endimage %}
P.S。图像名称是info-ico.png,它不是我们想要将图像显示为不同名称的错字。这也是生产模式。
如果有人对此感兴趣,那就是资产配置的代码:
assetic:
debug: "%kernel.debug%"
use_controller: false
bundles: [ 'MyBundle' ]
node: /usr/bin/nodejs
#java: /usr/bin/java
filters:
cssrewrite: ~
uglifycss:
bin: /usr/local/lib/node_modules/uglifycss/uglifycss
no_copyright: true
#apply_to: ['.css$']
uglifyjs2:
bin: /usr/local/lib/node_modules/uglify-js/bin/uglifyjs
no_copyright: true
#apply_to: ['.js$']
optipng:
bin: /usr/bin/optipng
apply_to: "\.png$"
jpegtran:
bin: /usr/bin/jpegtran
apply_to: ['.jpe?g$']
progressive: true
我还尝试使用assets:install命令上的符号链接手动清除缓存,似乎没有任何效果。有没有人有任何想法?
答案 0 :(得分:1)
问题在于assetic:dump命令和错误配置。
我正在使用--no-debug运行命令,所以我无法看到发生了什么,但是在运行此命令时出现了随机字符。该命令正在输出PNG编码,因为用于优化jpeg和PNG图像的模块未安装在生产服务器上,因此只需从配置文件中删除它们,然后清除缓存并预热缓存。然后我再次运行assetic:dump命令来解决问题。