我似乎无法让 wkhtmltopdf
在用户帐户上运行。
作为根用户:
wkhtmltopdf -V
wkhtmltopdf http://google.com google.pdf
以上两者都有效。但作为普通用户,我收到错误:
wkhtmltopdf -V
wkhtmltopdf: error while loading shared libraries: libQtWebKit.so.4: cannot open shared object file: No such file or directory
显然,wkhtmltopdf
工作正常并且安装正确,因为它适用于 root 用户,但不适用于所有用户。
我尝试过设置权限:
[root@server ~]# chmod 755 /root/wkqt/
[root@server ~]# chmod 755 /root/wkqt/lib/
[root@server ~]# chmod 755 /root/wkhtmltopdf-qt/
[root@server ~]# chmod 755 /root/wkhtmltopdf-qt/lib/
[root@server ~]# chmod 644 /root/wkqt/lib/*so*
[root@server ~]# chmod 644 /root/wkhtmltopdf-qt/lib/*so*
我还尝试添加到visudo
:
motorconne localhost=/bin/wkhtmltopdf
motorconne localhost=/root/wkhtmltopdf-qt/lib/libQtWebKit.so.4
但还是没有运气。有什么想法吗?
最佳答案
我遇到了完全相同的问题。
您可能按照 wkhtmltopdf wiki 上的安装步骤进行操作。
原来libQtWebKit.so.4
位于/root/wkqt/lib/
目录中。
这意味着您的用户必须有权进入该目录。
但是,当您输入 cd/root
时,您很可能会被拒绝访问 root
文件夹。
快速而肮脏的解决方案是向任何人授予对根文件夹的访问权限(是的,我说“快速而肮脏”)。例如:
sudo chmod a+rx /root
显然,这远非完美。在完美的情况下,您不会将 wkqt
lib 安装在 root
目录中。相反,/opt/wkqt
会更合适。您可以通过在构建 wkhtmltopdf-qt
时更改 configure
命令行来实现此目的。例如:
./configure -nomake tools,examples,demos,docs,translations -opensource -prefix "/opt/wkqt"
希望这有帮助!
关于permissions - wkhtmltopdf用户权限,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11740101/