这是我的代码:
$pdf = '/Users/macbookpro/Desktop/q.pdf';
$swf = '/Users/macbookpro/Desktop/q.swf';
$command2 = 'pdf2swf -o '.$swf.' -T -z -t -f '.$pdf.' -s flashversion=9';
exec($command2,$out,$status);
var_dump($output);输出为NULL,不生成SWF。但是,如果我输出命令并将其复制到终端,它就能工作。我该怎么解决这个问题?
发布于 2015-12-11 18:08:00
当用户运行脚本时,exec将运行。Apache用户可能没有PATH变量来告诉它在哪里查找程序,所以
$command2 = 'pdf2swf -o '.$swf.' -T -z -t -f '.$pdf.' -s flashversion=9';尝试添加pdf2swf的位置,如下所示:
$command2 = '/bin/pdf2swf -o '.$swf.' -T -z -t -f '.$pdf.' -s flashversion=9';并确保apache用户拥有访问可执行文件的权限,并具有执行它的权限。
chmod a+x /bin/pdf2swf当然,对于这个答案中的所有示例代码,用/bin/替换为pdf2swf真正存在的地方。
https://stackoverflow.com/questions/34229610
复制相似问题