gpt4 book ai didi

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

转载 作者:太空狗 更新时间:2023-10-29 12:21:06 25 4
gpt4 key购买 nike

我在运行这个二进制文件时遇到了真正的麻烦(我已经花了很多天了!)。

我想让 wkhtmltoimage 在带有 Apache Web 服务器 (icdsoft.com) 的 Linux 操作系统上运行,托管公司告诉我应该使用 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/notice/www/www/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');

然后我尝试让二进制文件在我的本地系统 OSx 10.6.8 上运行 - 我复制了之前的 amd-64 文件和 32 位文件 (http://code.google.com/p/wkhtmltopdf/downloads/detail?name=wkhtmltoimage-0.11.0_rc1-static-i386.tar.bz2) 到/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-scalable (Type1) 和 msttcorefonts。”

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

如果有人能帮我解决这个问题,我将不胜感激!非常感谢!

最佳答案

我在我的 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).
    程序似乎可以找到并使用放置在 ~/.fonts 中的 (TTF) 字体

编辑:
如果你在 Linux 服务器上使用 css 字体有问题(我有过),
例如:undefined symbol: FcFreeTypeQueryFace,然后 fontconfig 可能需要更新
看到这个问题:http://code.google.com/p/wkhtmltopdf/issues/detail?id=352

关于php - wkhtmltoimage 错误 - 无法执行二进制文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8250031/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com