【PHP插件库实现办法】
使用PHP开发的wkhtmltox类库:github地址
下载 wkhtmltox-0.12.4_linux-generic-amd64.tar.xz 后
# wget 文件下载地址
# tar zxvf wkhtmltox-0.12.4_linux-generic-amd64.tar.xz
# cd wkhtmltox/bin
# wkhtmltoimage http://www.baidu.com 111.png
# wkhtmltoimage 111.html 111.png
【安装方式】
1、安装wkhtmltox插件
# 1.1 wkhtmltox插件存放
/etc/apt/wkhtmltox/bin/
/etc/apt/wkhtmltox/include/
# 1.2 设置可执行权限
sudo chmod -R 777 /etc/apt/wkhtmltox/
【中文乱码问题】把windows下的C:\Windows\Fonts\simsun.ttc (宋体)字体文件复制到 ubuntu系统下的 /usr/share/fonts/ 文件夹下
2、安装中文字体
# 2.1 将 windows\fonts 下的字体文件移入 /usr/share/fonts/ 文件夹下
# cd /usr/share/fonts/
# sudo mkfontscale
# sudo mkfontdir
# sudo fc-cache -fv
# fc-list :lang=zh-cn 检查是否成功(有中文输出)
问题总结:
1、代码无法访问 /etc/apt/wkhtmltox 文件夹(jenkins文件权限限制),解决办法:wkhtmltox文件移入到 webfront/end/libraries 可访问的目录下;
2、shell_exec 方法禁用(修改php.ini 配置项 disable_funstions 去掉 shell_exec);
3、wkhtmltox/bin/wkhtmltoimage 不可执行,设置可执行权限 chmod -R 777 wkhtmltox/;
4、第2步安装成功,如果HTML生成的图片还是乱码,则可能是HTML字符集声明不对,charset="UTF-8" (GBK可能会乱码)。