我已经尝试了各种方式在我们的网络服务器上安装wkhtmltopdf,但不幸的是它没有安装。如安装教程中所述,我无法访问 user/bin 文件夹。
在public_html文件夹的服务器上有一个子文件夹_vti_bin ,我从wkhtmltopdf-0.9.1-static-i386复制了文件wkhtmltopdf- i386 ,但我无法执行它。
如何在(共享主机)Web 服务器上安装wkhtmltopdf并使其正常工作?
我已经尝试了各种方式在我们的网络服务器上安装wkhtmltopdf,但不幸的是它没有安装。如安装教程中所述,我无法访问 user/bin 文件夹。
在public_html文件夹的服务器上有一个子文件夹_vti_bin ,我从wkhtmltopdf-0.9.1-static-i386复制了文件wkhtmltopdf- i386 ,但我无法执行它。
如何在(共享主机)Web 服务器上安装wkhtmltopdf并使其正常工作?
我已经成功地在我的共享主机帐户上安装了 wkhtmltopdf-amd64,而无需 root 访问。
这是我所做的:
从这里下载了相关的静态二进制 v0.10.0:http ://code.google.com/p/wkhtmltopdf/downloads/list
编辑:以上已移至此处
通过我的共享主机上的 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
./
前面加上以确保它的开头。反正为我工作
如果您有sudo
访问权限...
sudo apt-get install wkhtmltopdf
# or
sudo apt install wkhtmltopdf
看看其他答案。
如果它的 ubuntu 然后继续这个,已经测试过了。:--
一、安装依赖
sudo aptitude install openssl build-essential xorg libssl-dev
适用于 64 位操作系统
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
如果没有对该服务器的完全访问权限(由于是托管帐户),您可能会遇到问题。我什至会说,我认为这是徒劳的努力——他们必须有充分的理由将服务器锁定在托管环境中。
打电话给您的托管公司并请求他们安装它,但不要期望得到很好的回应 - 他们通常不会为单个用户安装非常自定义的项目,除非有一个非常好的理由(例如错误修复)。
最后,根据您对服务器管理的熟悉程度以及您为服务器托管支付的费用,现在可以考虑类似http://www.slicehost.com的内容。每月 20 美元将为您提供一个低级 Web 服务器(256 内存),您可以安装任何您想要的东西。但是,如果您运行多个站点或负载很重,则成本会随着您需要更大的服务器而上升。
GL!
Debian 8 Jessie
这行得通
sudo apt-get install wkhtmltopdf
将 wkhtmltopdf 可执行文件放在服务器上并将其 chmod +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);
}
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
自从添加了最佳答案以来,一些事情发生了变化。他们曾经为我工作过,但现在不完全了,所以我已经研究了一段时间,并为Ubuntu 16.04提出了以下解决方案。对于 Ubuntu 14.04,请参阅答案底部的评论。如果这不适用于共享主机,我们深表歉意,但这似乎是一般 wkhtmltopdf 安装说明的 goto 答案。
# 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
在当前工作目录中命名的文件。
这种方法从网站下载二进制文件,这意味着您可以使用最新版本而不是依赖包管理器来更新。
请注意,截至今天,我的解决方案包括对此错误的临时修复。我意识到这个解决方案真的不是很好,但希望它可以很快被删除。请务必检查链接的 GitHub 问题的状态,以查看在阅读此答案时是否仍需要修复!
对于 Ubuntu 14.04,您需要降级到不同版本的 libssl。您可以在此处找到版本。无论如何,在任何生产服务器上降级之前,请务必考虑降级 libssl 的影响。
我希望这可以帮助别人!
共享主机没有 ssh 或 shell 访问?
我是这样做的;
尝试后,以下命令对我有用
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
CentOS 的最新更新:
sudo yum install -y libpng libjpeg openssl icu libX11 libXext libXrender xorg-x11-fonts-Type1 xorg-x11-fonts-75dpi
wget https://github.com/wkhtmltopdf/wkhtmltopdf/releases/download/0.12.4/wkhtmltox-0.12.4_linux-generic-amd64.tar.xz
tar -xvf wkhtmltox-0.12.4_linux-generic-amd64.tar
sudo mv wkhtmltox/bin/* /usr/local/bin/
wkhtmltopdf -V
rm -rf wkhtmltox
rm -f wkhtmltox-0.12.4_linux-generic-amd64.tar
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 二进制文件吗”不够具体。我的错。