我正在尝试使用来自 Ruby On Rails 的 wicked-pdf 创建一个 pdf。它在开发模式下运行良好,但是当我在生产中部署时出现错误:
wkhtmltopdf is not executable
我的 wkhtmltopdf 可执行文件位于:
rails_root/bin/wkhtmltopdf-i386
Warbler 设置为在战争中包含 bin 文件夹:
config.includes = FileList["classes/*","bin/*"]
我已经配置了 wicked pdf 以在正确的位置找到垃圾箱:
WickedPdf.config = {
:exe_path => Rails.root.join('bin', 'wkhtmltopdf-i386').to_s
}
我运行 warbler,然后在 jBoss 应用服务器上部署战争。当我尝试生成 PDF 时,我收到关于它不可执行的错误。它在开发模式下运行良好 - 而不是在战争中。
二进制文件的权限应该没问题:
-rwxr-xr-x 1 username group 11446024 Apr 3 11:40 wkhtmltopdf-i386
我没有手动包含 wkhtmltopdf 二进制文件,而是尝试使用 wkhtmltopdf-binary gem。这在开发模式下也可以正常工作,但 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