2012-07-31 128 views
2

我似乎無法獲得wkhtmltopdf在用戶帳戶上工作。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用戶,但不是所有的用戶。

我已經嘗試設置權限:

[[email protected] ~]# chmod 755 /root/wkqt/ 
[[email protected] ~]# chmod 755 /root/wkqt/lib/ 
[[email protected] ~]# chmod 755 /root/wkhtmltopdf-qt/ 
[[email protected] ~]# chmod 755 /root/wkhtmltopdf-qt/lib/ 
[[email protected] ~]# chmod 644 /root/wkqt/lib/*so* 
[[email protected] ~]# chmod 644 /root/wkhtmltopdf-qt/lib/*so* 

我也嘗試添加到visudo

motorconne localhost=/bin/wkhtmltopdf 
motorconne localhost=/root/wkhtmltopdf-qt/lib/libQtWebKit.so.4 

但仍沒有運氣。有任何想法嗎?

+1

你是否以root身份安裝它? – 2012-07-31 12:32:02

+0

是的,它是作爲根安裝的 – garethhallnz 2012-07-31 21:56:24

+0

嘗試安裝它作爲打算使用它的用戶 – 2012-08-01 05:54:09

回答

2

我有完全相同的問題。

您可能在wkhtmltopdf維基上執行了安裝步驟。原來libQtWebKit.so.4位於/root/wkqt/lib/目錄下。 這意味着您的用戶必須被授權進入該目錄。

但是,很可能當您鍵入cd /root時,您將被拒絕訪問root文件夾。

快速和骯髒的解決方案是授予訪問根文件夾給任何人(是的,我說「快速和骯髒」)。例如:

sudo chmod a+rx /root 

很明顯,這是遠遠不夠完美的。在完美的世界中,您不會在root目錄中安裝wkqt庫。相反/opt/wkqt會更合適。當您構建wkhtmltopdf-qt時,您可以通過更改configure命令行來做到這一點。例如:

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

希望這有助於!