我已经尝试过在我们的网络服务器上安装 wkhtmltopdf 但不幸的是它没有安装。我无法按照安装教程中的说明访问user / bin文件夹。
在 public_html 文件夹中的服务器上有一个子文件夹 _vti_bin ,我从 wkhtmltopdf-复制了文件 wkhtmltopdf-i386 0.9.1-static-i386 ,但我无法执行它。
如何在(共享主机)Web服务器上安装 wkhtmltopdf 并使其正常运行?
答案 0 :(得分:50)
我已成功在我的共享主机帐户上成功安装wkhtmltopdf-amd64而无需root权限。
这就是我所做的:
从此处下载相关的静态二进制文件v0.10.0:http://code.google.com/p/wkhtmltopdf/downloads/list
编辑:以上内容已移至here
通过共享主机上的ssh键入以下内容:
$ wget {relavant url to binary from link above}
$ tar -xvf {filename of above wget'd file}
然后您将在主机上安装二进制文件,并且无论是否在/ usr / bin /文件夹中都可以运行它。 (或者至少我能够)
测试:
$ ./wkhtmltopdf-amd64 http://www.example.com example.pdf
./
作为前缀,以确定。无论如何为我工作
答案 1 :(得分:30)
sudo apt-get install wkhtmltopdf
# or
sudo apt install wkhtmltopdf
看看其他答案。
答案 2 :(得分:26)
如果它的ubuntu然后继续这个,已经测试了。: -
首先,安装依赖项
sudo aptitude install openssl build-essential xorg libssl-dev
for 64bits OS
wget http://wkhtmltopdf.googlecode.com/files/wkhtmltopdf-0.9.9-static-amd64.tar.bz2
tar xvjf wkhtmltopdf-0.9.9-static-amd64.tar.bz2
mv wkhtmltopdf-amd64 /usr/local/bin/wkhtmltopdf
chmod +x /usr/local/bin/wkhtmltopdf
用于32位操作系统
wget http://wkhtmltopdf.googlecode.com/files/wkhtmltopdf-0.9.9-static-i386.tar.bz2
tar xvjf wkhtmltopdf-0.9.9-static-i386.tar.bz2
mv wkhtmltopdf-i386 /usr/local/bin/wkhtmltopdf
chmod +x /usr/local/bin/wkhtmltopdf
答案 3 :(得分:3)
如果没有对此服务器的完全访问权限(由于是托管帐户),您可能会遇到问题。我甚至会说,我认为这是一项徒劳无功的努力 - 他们必须在托管环境中锁定服务器,这是有充分理由的。
致电您的托管公司并向他们发出安装请求,但不要期待良好的响应 - 他们通常不会为单个用户安装非常自定义的项目,除非有充分的理由(错误修复了例子)。
最后,根据您对服务器管理的熟悉程度以及您为服务器托管支付的费用,请考虑http://www.slicehost.com之类的内容。每月20美元将为您提供低级Web服务器(256 ram),您可以安装任何您想要的东西。但是,如果您运行多个站点或负载过重,则需要更大的服务器,因此成本会上升。
GL!
答案 4 :(得分:2)
Debian 8 Jessie
这有效
sudo apt-get install wkhtmltopdf
答案 5 :(得分:1)
将wkhtmltopdf可执行文件放在服务器上并chmod it + x。
创建一个包含以下内容的可执行shell脚本wrap.sh:
#!/bin/sh
export HOME="$PWD"
export LD_LIBRARY_PATH="$PWD/lib/"
exec $@ 2>/dev/null
#exec $@ 2>&1 # debug mode
下载该架构所需的共享对象,并将它们放在一个名为“lib”的文件夹中:
(其中一些是符号链接)
......你准备好了:
./wrap.sh ./wkhtmltopdf-amd64 --page-size A4 --disable-internal-links --disable-external-links "http://www.example.site/" out.pdf
如果遇到所有字符的方块等字体问题,请明确定义TrueType字体:
@font-face {
font-family:Trebuchet MS;
font-style:normal;
font-weight:normal;
src:url("http://www.yourserver.tld/fonts/Trebuchet_MS.ttf");
format(TrueType);
}
答案 6 :(得分:1)
稳定版本列表wkhtmltopdf:http://wkhtmltopdf.org/downloads.html
sudo apt-get install xfonts-75dpi
sudo apt-get install xfonts-base
sudo wget http://download.gna.org/wkhtmltopdf/0.12/0.12.2.1/wkhtmltox-0.12.2.1_linux-jessie-amd64.deb
sudo dpkg -i wkhtmltox-0.12.2.1_linux-jessie-amd64.deb
答案 7 :(得分:1)
自添加最高答案以来,一些事情发生了变化。他们过去常常为我工作,但现在已经不多了,所以我一直在讨厌,并为 Ubuntu 16.04 提出了以下解决方案。对于Ubuntu 14.04,请参阅答案底部的注释。如果这不适用于共享主机,请道歉,但似乎这是wkhtmltopdf安装说明的通用答案。
# Install dependencies
apt-get install libfontconfig \
zlib1g \
libfreetype6 \
libxrender1 \
libxext6 \
libx11-6
# TEMPORARY FIX! SEE: https://github.com/wkhtmltopdf/wkhtmltopdf/issues/3001
apt-get install libssl1.0.0=1.0.2g-1ubuntu4.8
apt-get install libssl-dev=1.0.2g-1ubuntu4.8
# Download, extract and move binary in place
curl -L -o wkhtmltopdf.tar.xz https://github.com/wkhtmltopdf/wkhtmltopdf/releases/download/0.12.4/wkhtmltox-0.12.4_linux-generic-amd64.tar.xz
tar -xf wkhtmltopdf.tar.xz
mv wkhtmltox/bin/wkhtmltopdf /usr/local/bin/wkhtmltopdf
chmod +x /usr/local/bin/wkhtmltopdf
测试出来:
wkhtmltopdf http://www.google.com google.pdf
您现在应该在当前工作目录中有一个名为google.pdf
的文件。
此方法从网站下载二进制文件,这意味着您可以使用最新版本而不是依赖于软件包管理器进行更新。
请注意,截至今天,我的解决方案包含临时修复to this bug。我意识到解决方案真的不是很好,但希望它很快就会被删除。 请务必检查链接的GitHub问题的状态,以便在您阅读此答案时查看是否仍需要修复!
对于Ubuntu 14.04,您需要降级到不同版本的libssl。你可以find the versions here。无论如何,在任何生产服务器上执行此操作之前,请务必考虑降级libssl的含义。
我希望这有助于某人!
答案 8 :(得分:1)
尝试后,下面的命令为我工作
cd ~
yum install -y xorg-x11-fonts-75dpi xorg-x11-fonts-Type1 openssl git-core fontconfig
wget https://downloads.wkhtmltopdf.org/0.12/0.12.4/wkhtmltox-0.12.4_linux-generic-amd64.tar.xz
tar xvf wkhtmltox-0.12.4_linux-generic-amd64.tar.xz
mv wkhtmltox/bin/wkhtmlto* /usr/bin
谢谢&此致
Jaiswar Vipin Kumar R。
答案 9 :(得分:0)
共享托管没有ssh或shell访问权限?
以下是我的表现;
答案 10 :(得分:-1)
wkhtmltopdf的12.5版现在仅在其下载页面上列出了DEB文件。作为Mac用户,不了解很多Linux或什么DEB文件,我无法使用发布的解决方案。
此页面帮助我克服了下载DEB文件的已知难题:http://www.g-loaded.eu/2008/01/28/how-to-extract-rpm-or-deb-packages/
基本上我所做的是:
然后我发现主机上的'exec'功能被禁用。因此,如果您使用PHP运行此程序,请确保可以专门运行“ exec”。 “我可以运行wkhtmltopdf二进制文件”不够具体。我的错。