首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >从PHP脚本执行PDFTk失败,错误代码11

从PHP脚本执行PDFTk失败,错误代码11
EN

Stack Overflow用户
提问于 2010-08-10 11:41:43
回答 2查看 5.7K关注 0票数 0

我正在尝试从PHP脚本中填写一个PDF。我正在关注Sid Steward在下面的URL上的文章。

我已经在CentOS linux发行版上配置了 pdftk 包,并且我能够从命令提示符执行pdftk,它将FDF表单与PDF合并,并成功地生成扁平(填充) PDF。我使用下面的命令来使用shell测试Pdftk。

代码语言:javascript
运行
复制
pdftk /tmp/form.pdf fill_form /tmp/fdfbm0pe7 output /tmp/filledform.pdf flatten

但是,当尝试通过PHP执行类似的命令时,我会得到错误。passthru命令错误代码11失败。下面是我用来执行命令的php代码:

代码语言:javascript
运行
复制
$command = 'pdftk form.pdf fill_form '. $fdf_fn. ' output - flatten';
passthru($command, $error);

上面的$fdf_fn有FDF文件名。form.pdf是可填充的pdf格式.我给出的form.pdf和PHP文件都位于同一个文件夹中。我已经通过回音shell_exec('pdftk')检查PDFtk是否正确执行,并且它返回了标准的帮助细节。

为了提供更多的细节,pdftk的路径是/usr/bin/和PHP脚本,PDF表单文件位于下面。

有人能指导我做错了什么吗?通过PHP执行命令失败的错误代码是11吗?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2011-02-17 16:16:40

在CentOS上运行PDFTK时,我也遇到了同样的问题,我花了很多时间来寻找一些东西,所以我希望有人会发现这是有用的。我对PDFTK的具体使用是用于Drupal上的FillPDF模块。退出代码11问题的解决方案是设置一个本地策略模块,以允许httpd运行PDFTK。如果您的pdftk的grep /var/log/audit.log如下所示

代码语言:javascript
运行
复制
grep -i pdftk /var/log/audit/audit.log

你应该看到一些错误,其中一个可能是“execmem”的错误。这是我为解决这个问题所做的..。

运行此命令将将错误从日志中提取出来,并将其放入文件中供您审阅。

代码语言:javascript
运行
复制
grep -i pdftk /var/log/audit/audit.log | audit2allow -m pdftklocal > pdftklocal.te

如果输出看起来很好(例如,有输出),运行以下命令来创建模块。

代码语言:javascript
运行
复制
grep -i pdftk /var/log/audit/audit.log | audit2allow -M pdftklocal

创建模块后,通过运行此命令使策略处于活动状态。

代码语言:javascript
运行
复制
/usr/sbin/semodule -i pdftklocal.pp

PDFTK现在应该从PHP运行。如果没有,则通过运行httpd_enable_cgi来检查是否打开

代码语言:javascript
运行
复制
getsebool httpd_enable_cgi

如果没有打开,通过运行打开它。

代码语言:javascript
运行
复制
setsebool -P httpd_enable_cgi 1

有关策略模块的详细信息可以在这里找到:http://wiki.centos.org/HowTos/SELinux#head-faa96b3fdd922004cdb988c1989e56191c257c01

票数 2
EN

Stack Overflow用户

发布于 2010-09-08 19:13:26

我有一个与您类似的问题,结果是PHP没有读取.pdf、.fdf的权限,也没有在/tmp目录中创建扁平的.pdf文件的权限。

要知道这是否是问题所在,试着去做

代码语言:javascript
运行
复制
chmod 777 /tmp

看看这是否能解决问题。我不建议777离开,但可能会把它搬回700左右。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/3448519

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档