
deepbre的博客-CSDN博客
项目中使用到了wkhtmltopdf ,一开始在windows上跑 好好的 没有任何问题,结果一部署到linux 上 出现了一堆问题,特此记录 碰到的一些坑 .其中用到的一些包,都需要自行下载
下载wkhtmltopdf 当前使用版本为0.12.5
error: Failed dependencies:
xorg-x11-fonts-75dpi is needed by wkhtmltox-1:0.12.2-1.x86_64
# 提示需要安装75dpi
输入 yum search 75dpi
输入 yum install xorg-x11-fonts-75dpi.noarch
测试 是否安装成功
测试 输入 注意需要在wkhtmltopdf所在文件夹下输入 如果输入 1 不行 再输入2
wkhtmltopdf https://www.baidu.com baidu.pdf
./wkhtmltopdf –page-size A4 www.baidu.com pdf.pdf
输入后
发现报错,缺少 libpng15.so.15
wkhtmltopdf: error while loading shared libraries: libpng15.so.15: cannot open shared object file: No such file or directory
将 libpng15-1.5.30-alt1.tar 放到/usr/lib下
解压 tar xvf libpng15-1.5.30-alt1.tar
解压到当前路径中,
cd libpng15-1.5.30-alt1
进入文件
依次输入
./configure
make
make install
安装完毕后 会显示这个
安装后会自动把编译时需要的libpng15.pc文件保存在/usr/local/lib/pkgconfig目录下了
安装后会自动把编译时需要的libpng15.pc文件保存在/usr/local/lib/pkgconfig目录下了
直接运行:
pkg-config libpng15 --libs –cflags 会报错:显然是没有找到.pc文件
需要配置PKG_CONFIG_PATH环境变量:
exportPKG_CONFIG_PATH=/usr/local/lib/pkgconfig:$PKG_CONFIG_PATH
没配之前 报 libpng15.pc 和 -cflags.pc 找不到
再次输入 报 -cflags.pc 找不到
输入指令
pkgconfig 查看是否有安装
如果出现 -bash: pkgconfig: command not found
说明没安装 pkgconfig
安装 -cflags.pc 需要先安装 fuse
安装依赖
fuse-3.0.2.tar.gz 到/usr/lib
解压 tar xvf fuse-3.0.2.tar.gz
进入 fuse-3.0.2
按部就班地首先“./configure”,然后“make”,接着“make install”,最后“modprobe fuse”加载内核模块fuse.ko
查看fuse是否挂载成功: lsmod|grep fuse
若没成功则可通过:“modprobe fuse”命令挂载fuse。
挂载成功就fuse就 OK了
安装pkg-config
将pkg-config-0.29.2.tar.gz 放到 /usr/lib
解压 tar xvf pkg-config-0.28.tar.gz
输入指令
cd pkg-config-0.29.2
./configure --with-internal-glib
make & install make
至此, pkg-config 安装完成。
导入 指令
export PKG_CONFIG_PATH=/usr/lib/pkgconfig/:/usr/local/lib/pkgconfig/
指令
ldconfig
可能再次输入 还会出现
如果出现 -bash: pkgconfig: command not found
之类的 提示
解决方案:
# cat /etc/ld.so.conf
include ld.so.conf.d/*.conf
# echo "/usr/local/lib" >> /etc/ld.so.conf
# ldconfig
至此,libpng15 就能找到了 再次运行wkhtmltopdf
./wkhtmltopdf –page-size A4 www.baidu.com pdf.pdf
报 OPENSSL_1.0.2‘ not found
报这样的错误,就是因为openssl的版本问题导致的。因此需要更新openssl。查看当前的版本号:
[root@slave-4~]# openssl version
OpenSSL 1.0.1e-fips 11 Feb 2013
[root@slave-4 ~]# rpm -qa openssl
openssl-1.0.1e-60.el7.x86_64
可以参考这篇文章 http://www.mamicode.com/info-detail-2342742.html
我这边用的是第二种方法 ,当时找不到这个1.0.2后来从同事腾讯的服务器上找到了这个 挪了过来
具体的操作是 把1.0.2 放到 /usr/lib64 里 软连接 让libcrypt.so.10 指向 1.0.2k
还遇到 libssl.so.10 没有的 运行了 yum install libssl* 就行了
再次运行wkhtmltopdf 终于成功
「GetParty」
关注微信号,推送好文章
微信中长按图片即可关注