代码之家  ›  专栏  ›  技术社区  ›  Ryan Griggs

PDFTK无法创建用户目录

  •  0
  • Ryan Griggs  · 技术社区  · 6 年前

    我试图使用以下命令(以root用户身份)以用户www数据的身份运行pdftk:

    sudo -u www-data /snap/bin/pdftk
    

    但我有一个错误:

    无法创建用户数据目录:/var/www/snap/pdftk/9:只读 文件系统

    (Ubuntu 18.04,PDFTK安装了SNAP)。

    /var/www/snap/pdftk和/var/www/snap/pdftk/9目录对www数据用户具有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/
    

    我需要能够以www数据用户的身份运行PDFTK,因为我想从apache2提供的PHP脚本调用PDFTK,如下所示:

    <?php
    `/snap/bin/pdftk file1.pdf file2.pdf cat output file3.pdf`;
    

    注意:PHP的pdftk包装器mikehaertl/PHP pdftk似乎也不想保存文件。我试过->saveAs()函数,但不会生成任何文件,即使在尝试写入/tmp时也是如此,因为/tmp应该具有完全的写入权限。apache2错误日志中没有错误,所以我打赌这是同一个问题。

    0 回复  |  直到 6 年前
        1
  •  1
  •   Vee Hua Zhi    6 年前

    我遇到了完全相同的问题!特别是,我在Ubuntu18.10中使用pdftk时没有遇到这个问题,pdftk已经包含在后面,但在Ubuntu18.04的服务器上遇到了这个问题。

    我的解决方法是不通过snap安装pdftk。我按照debian软件包的说明安装了pdftk https://www.webdesign101.net/install-pdftk-on-ubuntu-18-04-bionic/ .

    然后一切都很好。