Wkhtmltopdf用户权限

时间:2012-07-31 12:30:23

标签: permissions wkhtmltopdf

我似乎无法让wkhtmltopdf使用用户帐户。

以root用户身份:

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

但仍然没有运气。有什么想法吗?

1 个答案:

答案 0 :(得分:2)

我遇到了同样的问题。

您可能在wkhtmltopdf wiki上执行了安装步骤。

事实证明libQtWebKit.so.4位于/root/wkqt/lib/目录中。 这意味着您的用户必须有权进入此目录。

但是,当您键入cd /root时,很可能会拒绝您访问root文件夹。

快速而肮脏的解决方案是向任何人授予对根文件夹的访问权限(是的,我说“快速而肮脏”)。例如:

sudo chmod a+rx /root

显然,这远非完美。在完美的世界中,您不会在wkqt目录中安装root lib。相反,/opt/wkqt会更合适。您可以通过在构建configure时更改wkhtmltopdf-qt命令行来执行此操作。例如:

./configure -nomake tools,examples,demos,docs,translations -opensource -prefix "/opt/wkqt"

希望这有帮助!