lig*_*h05 1 ruby-on-rails jruby warbler wicked-pdf
我正在尝试使用Ruby On Rails中的wicked-pdf创建一个pdf.它在开发模式下运行良好,但是当我在生产中部署时,我收到错误:
wkhtmltopdf is not executable
Run Code Online (Sandbox Code Playgroud)
我有位于以下位置的wkhtmltopdf可执行文件:
rails_root/bin/wkhtmltopdf-i386
Run Code Online (Sandbox Code Playgroud)
Warbler设置为在战争中包含bin文件夹:
config.includes = FileList["classes/*","bin/*"]
Run Code Online (Sandbox Code Playgroud)
我有邪恶的pdf配置为在正确的位置找到bin:
WickedPdf.config = {
:exe_path => Rails.root.join('bin', 'wkhtmltopdf-i386').to_s
}
Run Code Online (Sandbox Code Playgroud)
我运行warbler然后在jBoss应用服务器上部署战争.当我尝试生成PDF时,我收到有关它不可执行的错误.它在开发模式下运行良好 - 而不是在战争中.
二进制文件的权限应该没问题:
-rwxr-xr-x 1 username group 11446024 Apr 3 11:40 wkhtmltopdf-i386
Run Code Online (Sandbox Code Playgroud)
我尝试使用wkhtmltopdf-binary gem而不是手动包含wkhtmltopdf二进制文件.这在开发模式下也运行良好,但Wicked PDF无法在生产中找到二进制文件.
更新:在生产模式下,我将wicked-pdf配置更改为指向'wkhtmltopdf-binary'gem提供的二进制文件.这也是wkhtmltopdf is not executable错误.路径最终是:jboss-5.1.0.GA/server/default/tmp/3j001-3g0fg5-hf2xi49o-1-hf2xiuld-9q/myrailsapp.war/WEB-INF/gems/gems/wkhtmltopdf-binary-0.9.9.1/bin/wkhtmltopdf_linux_386
你是单独安装wkhtmltopdf还是允许你的gem文件安装它?
我会做以下事情:
gem 'wicked_pdf', '~> 0.9.10'
gem 'wkhtmltopdf-binary', '~> 0.9.9'
Run Code Online (Sandbox Code Playgroud)
然后设置配置:
WickedPdf.config = {
exe_path: "#{ENV['GEM_HOME']}/gems/wkhtmltopdf-binary-#{Gem.loaded_specs['wkhtmltopdf-binary'].version}/bin/wkhtmltopdf_linux_386"
}
Run Code Online (Sandbox Code Playgroud)
#{Gem.loaded_specs['wkhtmltopdf-binary'].version}如果您要更改gem的版本,此位将查询您的gem以查找当前版本,您的prod服务器仍然可以找到正确的文件夹.
| 归档时间: |
|
| 查看次数: |
2293 次 |
| 最近记录: |