在linux centos上通过php运行pdftk
我想在我的网络服务器上运行 pdftk。它是带有 PHP 5.3.2 的 Linux Centos。
当我通过命令行连接它时,我
pdftk --version
这样做
pdftk A=p1-9.pdf cat A1 output p1.pdf
就可以了。
现在,我通过 php 执行此操作:
exec(pdftk A=p1-9.pdf cat A1 output p1.pdf)
这是不行的。为什么??我搜索了文件的链接,但看起来没问题。
这也不起作用:
exec(pdftk --version)
那么出了什么问题?
感谢您的帮助!
I would like to run pdftk on my webserver. It's a Linux Centos with PHP 5.3.2.
When I connect it by commande line I do
pdftk --version
It's OK
pdftk A=p1-9.pdf cat A1 output p1.pdf
It's OK.
Now, I do this by php :
exec(pdftk A=p1-9.pdf cat A1 output p1.pdf)
It isn't OK. Why?? I search about the link of file, but it looks OK.
This doesn't work too :
exec(pdftk --version)
I install pdftk with this How do I install Pdftk on my server?
So what's wrong??
Thank for your help!
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
我以前遇到过这个问题。假设您将命令字符串括在引号中(如 gioele 指出的),问题可能是您需要 运行系统命令时设置您的路径。试试这个:(
我也在那里添加了一些响应处理)。如果这不起作用,请检查您应该使用什么路径(这取决于您安装 PDFTK 的位置)。
我相信您也可以通过使用
putenv("PATH=" .[your path]);
获得相同的结果,我在这里使用了system()
,但是 < code>exec() 应该以同样的方式受到影响I've run into this issue before. Assuming that you're wrapping your commands string in quotes (as gioele noted), the issue may be that you need to set your path when running the system command. Try this:
(I've added a little response handling there as well). If that doesn't work, check to see what path you should use (it will depend on where you installed PDFTK).
I believe you can also get the same result by using
putenv("PATH=" .[your path]);
and I've usedsystem()
here, butexec()
should be affected in the same way