我有一个使用 PDFTK 的网站。
我的网站允许用户通过表单发送 PDF 文件,然后单击按钮即可组合所有文件来创建一个 PDF 文件。
发送我的文件时,我的 apache 用户被分配了。
只是当我运行命令行时,它不起作用。如果我将所有文件传递到用户和组根中,命令行就会传递。只是我必须手动执行操作才能使我的网站正常运行。
这是我的命令,出现错误:
$ /snap/bin/pdftk "upload/418/2018/fichier1.pdf" cat output upload/418/2018/fichiercombine.pdf dont_ask
Error: Unable to find file.
Error: Failed to open PDF file:
upload/418/2018/fichier1.pdf
Errors encountered. No output created.
Done. Input errors, so no output created.
这是一条很好的命令,但是chown
:
chown -R root:root upload/418/2018
/snap/bin/pdftk "upload/418/2018/fichier1.pdf" cat output upload/418/2018/fichiercombine.pdf dont_ask
这可能是什么问题?
答案1
该命令按照您的需要运行:
chown -R root:root upload/418/2018
/snap/bin/pdftk "upload/418/2018/fichier1.pdf" cat output upload/418/2018/fichiercombine.pdf dont_ask
由一个变更目录 (类似于cd /var/www/html/
) 所主导。
这个没有这样做:
$ /snap/bin/pdftk "upload/418/2018/fichier1.pdf" cat output upload/418/2018/fichiercombine.pdf dont_ask
Error: Unable to find file.
Error: Failed to open PDF file:
upload/418/2018/fichier1.pdf
Errors encountered. No output created.
Done. Input errors, so no output created.
... 因此将尝试从您放置的目录中开始执行它。upload/
通知没有抱怨权限,所以我认为这不是问题。它说的是“找不到文件”,所以我相信您的第二个命令没有在正确的目录中执行。如果是权限问题:将用户 apache 添加到拥有的组,pdftk
或者,如果该组由 root 拥有,则将其组更改为新组并将 apache 添加到其中。
如果是目录问题,最简单的解决方法是使用绝对路径而不是相对路径。或者cd /var/www/html &&
在命令前面添加一个,将替换/var/www/html
为所需的内容。