2

我似乎无法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

但仍然没有运气。有任何想法吗?

4

1 回答 1

2

我遇到了完全相同的问题。

您可能遵循 wkhtmltopdf wiki 上的安装步骤。

原来它libQtWebKit.so.4位于/root/wkqt/lib/目录中。这意味着您的用户必须被授权才能进入此目录。

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

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

sudo chmod a+rx /root

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

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

希望这可以帮助!

于 2014-01-29T11:19:58.393 回答