wkhtmltoimage错误 – 无法执行二进制文件

我真的有麻烦得到这个二进制运行(我花了几天和几天!)。

我想用Apache web服务器(icdsoft.com)在Linux操作系统上运行wkhtmltoimage,托pipe公司告诉我应该使用static-amd64。 我下载的文件在:

http://code.google.com/p/wkhtmltopdf/downloads/detail?name=wkhtmltoimage-0.11.0_rc1-static-amd64.tar.bz2并解压缩。

我没有ssh访问服务器,但托pipe公司说我可以从一个目录运行二进制文件,如:

 /home/notice/www/www/wkhtmltoxdoc/ 

虽然我认为它必须是这样的:

 /usr/local/bin/ 

所以我把文件“wkhtmltoimage-amd64”上传到/ home / notice / www / www / wkhtmltoxdoc /,并将其改名为“wkhtmltoimage”。 我也做了这个文件的副本,并称之为“wkhtmltoimage.bin”(有人说这有帮助)。 我改变了这两个文件和目录“wkhtmltoxdoc”有权限777。

然后,我试着调用二进制文件(有和没有.bin扩展名)使用PHP,没有产生任何结果(没有文件被创build):

注意:[bbc_url] = http://www.bbc.com (我不能发布超过2个链接)

 shell_exec('./wkhtmltoxdoc/wkhtmltoimage.bin [bbc_url] ./wkhtmltoxdoc/bbc.jpg'); shell_exec('./wkhtmltoxdoc/wkhtmltoimage [bbc_url] ./wkhtmltoxdoc/bbc2.jpg'); 

然后我试图让我的本地系统上运行的二进制OSx 10.6.8 – 我复制了以前的amd-64文件和32位文件(http://code.google.com/p/wkhtmltopdf/downloads/详细?name = wkhtmltoimage-0.11.0_rc1-static-i386.tar.bz2)到/ usr / local / bin,并将其权限更改为777.这些是转到/ usr / local / bin目录并尝试在terminal运行:

 $ wkhtmltoimage-amd64 [bbc_url] /Users/jazz/Desktop/bbc.jpg -bash: /usr/local/bin/wkhtmltoimage-amd64: cannot execute binary file $ wkhtmltoimage-i386 [bbc_url] /Users/jazz/Desktop/bbc.jpg -bash: /usr/local/bin/wkhtmltoimage-i386: cannot execute binary file 

目标是在外部服务器上获取wkhtmltoimage,但我只是试图在我的本地进行testing。

我在wkhtmltoimage的手册中发现了这个问题:“在Linux上,它依赖于glibc和openssl,而且你需要安装一个xserver,但不需要运行,你将需要安装不同的字体,包括xfonts-scalable(Type1)和msttcorefonts“。

我的服务器支持表示:“Glibc和OpenSSL在服务器上是可用的,但是XServer不是,我们尝试从shell运行这个命令,它运行时没有任何错误,但是它没有创build镜像,很可能如果没有XServer,它将无法工作,不幸的是,我们没有办法安装XServer,这是Linux的graphics系统,不适合托pipe服务器。

如果有人能帮助我,我真的很感激! 非常感谢!

我在我的Mac上本地成功运行OSX wkhtmltoimage静态版本(最新预先打包的我发现:wkhtmltoimage-OSX-0.10.0_rc2-static.tar.bz2),并为服务器我上传了i386版本。

我首先在我的OSX终端上进行了本地测试

 ./wkhtmltoimage --width 1280 --height 700 http://www.google.com wktest.jpg 

(更新)可能有用的一些提示:

  • 确保在程序上设置了执行位(chmod u + x或ugo + x)
  • 我在我的主目录下的Linux服务器上安装了wkhtml
    〜/ wkhtmldir(/ home / username / wkhtmldir)。
    它似乎程序可以找到并使用(TTF)放置在〜/ .fonts中的字体

编辑:
如果你在Linux服务器(我有)的CSS字体使用问题,
例如: 未定义的符号:FcFreeTypeQueryFace ,那么fontconfig可能需要更新
看到这个问题: http : //code.google.com/p/wkhtmltopdf/issues/detail?id=352