【问题标题】:pdf2swf works only on sshpdf2swf 仅适用于 ssh
【发布时间】:2011-10-16 11:06:38
【问题描述】:

我有以下执行命令:

/usr/local/bin/pdf2swf -s centerx=1 -s bitmap -s jpegquality=85 -s zoomtowidth=1200 -s zoomtoheight=1000 -s zoom=100 -s framerate=0.25 -s subpixels=1.5 -S /test.pdf -o /test-%.swf

当我通过 ssh(例如 putty)运行它时,它运行良好。 但是当我通过 php 脚本运行它时,如下所示:

<?php
exec("/usr/local/bin/pdf2swf -s centerx=1 -s bitmap -s jpegquality=85 -s zoomtowidth=1200 -s zoomtoheight=1000 -s zoom=100 -s framerate=0.25 -s subpixels=1.5 -S /test.pdf -o /test-%.swf");
?>

它不起作用... 请帮帮我,非常感谢!

【问题讨论】:

  • 试试echo exec("......"),这样你就知道命令执行的输出了。你会知道问题出在输出。
  • 这将只打印最后一行。使用这个: exec("/usr/local/bin/pdf2swf...", $output); var_dump($输出);您将看到导致问题的原因。
  • 可能是权限问题?也许pdf2swf只允许在root用户下运行,而不是在apache用户下运行?
  • 大多数托管公司禁用命令行访问。看看你的是否也这样做,如果是,请他们允许你调用 pdf2swf

标签: php permissions exec pdf2swf


【解决方案1】:

你可以试试phpseclib, a pure PHP SSH implementation。示例:

<?php
include('Net/SSH2.php');

$ssh = new Net_SSH2('www.domain.tld');
if (!$ssh->login('username', 'password')) {
    exit('Login Failed');
}

echo $ssh->exec('pwd');
echo $ssh->exec('ls -la');
?>

【讨论】:

    猜你喜欢
    • 2020-07-12
    • 2013-04-11
    • 2013-04-11
    • 1970-01-01
    • 2018-12-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-07-09
    相关资源
    最近更新 更多