Symfony2框架图像不会出现

时间:2014-09-15 15:36:43

标签: php image symfony twig assetic

我们的网站上有一张我们不得不改变的图片,因为它是.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命令上的符号链接手动清除缓存,似乎没有任何效果。有没有人有任何想法?

1 个答案:

答案 0 :(得分:1)

问题在于assetic:dump命令和错误配置。

我正在使用--no-debug运行命令,所以我无法看到发生了什么,但是在运行此命令时出现了随机字符。该命令正在输出PNG编码,因为用于优化jpeg和PNG图像的模块未安装在生产服务器上,因此只需从配置文件中删除它们,然后清除缓存并预热缓存。然后我再次运行assetic:dump命令来解决问题。