试图使用 imagemagick,空白页

attempting to use imagemagick, blank page

所以今天在 Whosebug 上四处窥探后,我发现了 imagemagick,它看起来很棒。请记住,我今天才发现这个,我一直在努力让它为我工作几个小时,但无济于事,所以我真的可以使用一些指导。

我问过我的托管公司,我检查了终端,我确实有。

通过 PuTTY 我 运行:

whereis convert

哪个吐槽我:

convert: /usr/bin/convert /usr/share/man/man1/convert.1.gz

然后仔细检查:

/usr/bin/convert --version

哪个给了我:

Version: ImageMagick 6.7.2-7 2015-07-29 Q16 http://www.imagemagick.org
Copyright: Copyright (C) 1999-2011 ImageMagick Studio LLC
Features: Open MP

所以在我的 public_html 中,我创建了一个名为 test.php 的文件,我在其中放入:

<?php
    try
    {
        $cmd = "public_html/account/archives/emails/2015/November-Email.pdf";
        exec("usr/bin/convert $cmd");
    }
    catch(Exception $e)
    {
        die('Error when creating a file: ' . $e->getMessage());
    }
?>

当我 运行 test.php 时,它只是显示一个空白屏幕,很明显出了问题,甚至连错误消息都没有显示。

您没有输出文件名。 exec() 不会显示任何内容,但 system() 在某些情况下会显示

exec("/usr/bin/convert -version ) 不会显示任何内容 system("/usr/bin/convert -version ) 应该显示版本

根据您的设置,您也许可以只使用转换。

图片的路径可以是相对的。

  • 在文件名中:(

您可能希望在命令中添加密度以控制 pdf 质量。

试一试:

 <?php 
    $array=array(); 
    echo "<pre>"; 
    $cmd = "public/html/account/archives/emails/2015/November-Email.pdf";
    exec("usr/bin/convert -density 300 $cmd output.jpg 2>&1", $array);  
    echo "<br>".print_r($array)."<br>";  
    echo "</pre>"; 
    ?>