我试图使用以下命令(以root身份)作为用户www-data运行pdftk:
sudo -u www-data /snap/bin/pdftk
但是我收到了这个错误:
无法创建用户数据目录:/ var / www / snap / pdftk / 9:只读文件系统
(Ubuntu 18.04,与SNAP一起安装的PDFTK)。
/ var / www / snap / pdftk和/ var / www / snap / pdftk / 9目录对www-data用户具有rw权限:
drwxr-xr-x 3 www-data www-data 4096 Jan 23 15:44 ./
drwxrwxrwx 4 root root 4096 Jan 23 15:44 ../
drwxrwxr-x 4 www-data www-data 4096 Jan 23 15:44 pdftk/
drwxrwxr-x 4 www-data www-data 4096 Jan 23 15:44 ./
drwxr-xr-x 3 www-data www-data 4096 Jan 23 15:44 ../
drwxrwxr-x 2 www-data www-data 4096 Jan 23 15:44 9/
drwxr-xr-x 2 www-data www-data 4096 Jan 23 15:44 common/
lrwxrwxrwx 1 www-data www-data 1 Jan 23 15:44 current -> 9/
我需要能够将PDFTK作为www-data用户运行,因为我想从apache2提供的PHP脚本中调用PDFTK,如下所示:
<?php
`/snap/bin/pdftk file1.pdf file2.pdf cat output file3.pdf`;
注意:PHP的pdftk包装器mikehaertl / php-pdftk似乎也不想保存文件。我尝试了 - > saveAs()函数,但是没有生成文件,即使在尝试写入/ tmp时也应该具有完全写入权限。 apache2错误日志中没有错误,所以我认为这是同样的问题。
我遇到了完全相同的问题!特别是,在Ubuntu 18.10中使用pdftk并且已经包含了pdftk时,我没有遇到这个问题,但是在使用Ubuntu 18.04的服务器上遇到了这个问题。
我的解决方法是不通过快照安装pdftk。我按照https://www.webdesign101.net/install-pdftk-on-ubuntu-18-04-bionic/的说明安装了带debian软件包的pdftk。
一切都很好。