背景前面说了wkhtmltopdf和chatjs的安装是兼容的,但是在部署的时候,,,,客户的环境是【cpanel虚拟主机】。这意味着你知道的和不知道的所有shell命令都不能用,yumrmp不能执行,你不能命令安装任何软件。而且最重要的是没有root和sudo权限,只能执行一些简单的lscdps命令。基于以上原因,idea直接要求客户将虚拟主机换成服务器,但期间google了半天,在cpanel中安装了wkhtmltopdf。如果没有结果后仔细想想,可能只有很小的可能,复制安装好的二进制文件,然后添加依赖。所以可以尝试在本地的两台centos7虚拟机之间copy一个安装到另一个进行discovery,所以赶紧copy到cpanel。我试图检查cpanel使用的linux发行版。应该是centos,但是查不到是centos6还是centos7。我在本地使用centos7安装了wkhtmltopdf,复制过来,然后执行。链接库复制了,但是因为没有sudo权限,无法复制到/usr/lib64。想了想,应该有个设置来指定lib目录吧。一探究竟。果然可以通过exportLD_LIBRARY_PATH增加lib库的目录。但是由于需要用php来执行,所以这里的思路是每次用shell执行php的时候,设置exportLD_LIBRARY_PATH,然后执行。wkhtmltopdf命令。这里需要注意的是,复制不兼容的链接库文件并指定exportLD_LIBRARY_PATH可能会导致系统崩溃,重启后无法恢复。我注销重新登录后,export指定的目录无效,反复尝试了几次,还是没有解决版本兼容问题。问题是我拉下了centos6的docker镜像,重新安装了wkhtmltopdf,重新上传了bin目录下的文件,尝试执行wkhtmltopdf-V,看看缺少了哪些依赖。??然后把这个文件放到home的usr/bin下。如果以上都不成功,建议尝试将所有依赖复制进去,然后先在php中执行export。
