Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/asp.net-mvc/16.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php wkhtmltoimage错误-无法执行二进制文件_Php_Linux_Binary - Fatal编程技术网

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

Php wkhtmltoimage错误-无法执行二进制文件,php,linux,binary,Php,Linux,Binary,我真的很难运行这个二进制文件(我已经花了很多天了!) 我想让wkhtmltoimage运行在带有ApacheWeb服务器(icdsoft.com)的Linux操作系统上,托管公司告诉我应该使用static-amd64。我在以下网址下载了该文件: http://code.google.com/p/wkhtmltopdf/downloads/detail?name=wkhtmltoimage-0.11.0_rc1-static-amd64.tar.bz2并将其解压缩 我没有ssh访问服务器的权限,但

我真的很难运行这个二进制文件(我已经花了很多天了!)

我想让wkhtmltoimage运行在带有ApacheWeb服务器(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”。我还复制了这个文件,并将其命名为“wkhtmltimage.bin”(有些人说这很有帮助)。我将文件和目录“wkhtmltoxdoc”都更改为具有777权限

然后,我尝试使用php调用二进制文件(带扩展名和不带扩展名),但没有产生任何结果(没有创建任何文件):

注意:[bbc_url]=(我不能发布超过2个链接)

然后我试图让二进制文件在本地系统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字体时遇到问题(我曾经遇到过),
e、 g:未定义符号:FcFreeTypeQueryFace,则fontconfig可能需要更新
见本期:

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