2011-11-23 89 views
2

我真的有麻烦让这个二进制文件运行(我花了几天和几天!)。wkhtmltoimage错误 - 无法执行二进制文件

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

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

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

/home/notice/www/www/wkhtmltoxdoc/ 

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

/usr/local/bin/ 

所以我已经上传的文件 “wkhtmltoimage-AMD64” 到/ home /通知/网络/网络/ wkhtmltoxdoc /,并更名为 “wkhtmltoimage”。我也制作了这个文件的副本,并将其命名为“wkhtmltoimage.bin”(有人说这有帮助)。我改变文件和目录“wkhtmltoxdoc”有权限777

然后我试图使用PHP它没有产生任何结果(无文件的创建)调用二进制文件(有和没有扩展名为.bin):

注:[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'); 

然后我试图让二进制到我的本地系统OS X 10.6.8上运行 - 我都抄先前的amd-64文件和32位文件(http://code.google.com/p/wkhtmltopdf/downloads/detail?name=wkhtmltoimage-0.11.0_rc1-static-i386.tar.bz2)t Ø在/ usr/local/bin目录,并改变了他们的权限为777。这些都是要在/ usr/local/bin目录目录,并试图在终端运行它的结果:

$ 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在外部服务器上,但我只是想在我的本地进行测试。

我发现这对wkhtmltoimage手册中: “在Linux这取决于双方的glibc和OpenSSL,此外,您将需要安装一个Xserver的,但没有必要运行时,您将需要有不同的字体安装包括xfonts-。可缩放(Type1)和msttcorefonts“。

我的服务器支持说: “Glibc和OpenSSL在服务器上是可用的,但是XServer没有,我们尝试从shell运行命令,它运行时没有产生任何错误,但是无法创建映像如果没有XServer,它很可能无法工作,不幸的是,我们无法安装XServer,它是Linux的图形系统,不适合托管服务器。

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

回答

2

我在我的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ü + x或ugo + x)
  • 我在我的主目录下的linux服务器上安装了wkhtml
    〜/ wkhtmldir(/ home/username/wkhtmldir)。
    似乎该程序可查找和使用置于放在〜/ .fonts

编辑(TTF)字体:
如果您有Linux服务器上的CSS字体使用的问题(我有),
如:未定义符号:FcFreeTypeQueryFace,那么fontconfig可能需要更新
请参阅此问题:http://code.google.com/p/wkhtmltopdf/issues/detail?id=352

相关问题