【问题标题】:RefineryCMS image uploading error, ImageMagick CentOS 5.5RefineryCMS 图片上传错误,ImageMagick CentOS 5.5
【发布时间】:2012-06-28 15:37:57
【问题描述】:

我在我的服务器(CentOs 5.5)上安装了 RefineryCMS,除了上传图片外一切正常。它会显示如下错误:

NoMethodError in Refinery::Admin::ImagesController#create

   undefined method `downcase' for nil:NilClass

我通过键入以下内容安装了 ImageMagick:

sudo yum install ImageMagick

我在网上搜索了一下,yum安装的ImageMagick好像太旧了(版本6.2.x) 然后我删除它,从源代码成功安装 ImageMagick v6.7.7。 现在,当我尝试上传图片时,炼油厂显示:

Dragonfly::Shell::CommandFailed in Refinery::Admin::ImagesController#create

   Command failed (identify '/tmp/RackMultipart20120628-29239-70xr45') with exit status 127

但是,如果我在命令行中运行该命令“identify '/tmp/RackMultipart20120628-29239-70xr45'”,它将显示结果而没有任何错误。似乎 Dragonfly 无法获取我安装的最新版本的 ImageMagick。谁能告诉我如何配置它?或者我应该升级我的centOS?(我不希望)

【问题讨论】:

    标签: imagemagick centos image-uploading refinerycms


    【解决方案1】:

    好吧,我已经为这个问题苦苦挣扎了一个多星期。 我也在 Github 上问过这个问题,最后在那里得到了解决方案。 见:https://github.com/resolve/refinerycms/issues/1781#issuecomment-6823858

    由于这个问题是由于 Dragonfly 找不到 imagemagick 造成的。 您可以尝试将以下代码添加到 config/application.rb

    initializer 'override-image-magick-paths', :after => 'attach-refinery-images-with-      dragonfly' do
      app=Dragonfly[:refinery_images]
      app.configure_with(:imagemagick)
      app.configure do |c|
        c.convert_command = "/usr/local/bin/convert"          # defaults to "convert"
        c.identify_command = "/usr/local/bin/identify"        # defaults to "identify"
      end
    end
    

    根据您的 imagemagick 安装修改路径。 您可以使用 which 命令来查找路径。例如哪个转换

    但是,这仍然对我不起作用。 最后,toymachiner62 找到一个简单且完美的解决方案。

    即使用符号链接:

    $ cd /usr/bin
    $ ln -s /usr/local/bin/convert convert             
    $ ln -s /usr/local/bin/identify identify
    

    修改您安装的 /usr/local/bin/convert 路径。 这看起来像我的 /usr/local/bin 路径不在我的 $PATH 中,但实际上它是。 蜻蜓似乎无论如何都找不到它。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2011-09-07
      • 2018-04-28
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多