【问题标题】:ImageMagick running locally on a Mac not converting在 Mac 上本地运行的 ImageMagick 未转换
【发布时间】:2011-06-14 03:07:20
【问题描述】:

我正在尝试让 ImageMagick 在我的本地机器 (Mac) 上工作,主要是为了测试它的工作原理,而不必将其上传到最终将运行的服务器上,但也因为它应该并且让我烦恼的是它不是!

所以我正在将 pdf 转换为 gif,并且我已经安装了 IMGK 和 GhostWriter,我什至在从命令行运行时成功地转换了它,就像我想要的那样。这是我正在使用的命令:

convert file.pdf[0] -antialias -resize 105x150\! -shave 1x1 -bordercolor "#000000" -border 1x1 -colors 64 file.gif

我尝试使用exec 在 PHP 中运行它,但它没有任何内容。我检查了源文件和目标文件的权限并在它们上运行chmod 777 只是为了很好的衡量,所以我认为不是那样。

如果我在没有参数的情况下运行convert 并使用PHP 的exec 的第二个变量来记录输出,我会得到通常的帮助文本,其中包含所有可用的选项和开关,所以我知道exec 正在工作并且convert 可供进程访问。但是,当我添加参数时,我没有输出,要么记录到第二个变量,要么以转换图像的方式。

非常奇怪,非常令人沮丧!

有什么建议吗?

【问题讨论】:

    标签: php macos pdf imagemagick gif


    【解决方案1】:

    我的猜测是您的 PHP 用户没有写入当前目录的权限,因此 ImageMagick 必须失败(因为它在通过 exec() 调用时以 PHP 用户的权限运行。)尝试给出使用chmod 的目录“世界可写”权限。

    要捕获 IM(可能)产生的错误消息,请参阅 this question.

    【讨论】:

    • 您好 Pekka,感谢您的回答。当我运行chmod 777 时,应该覆盖世界可写权限,对吧?我肯定在源和目的地都这样做了。
    • 我尝试在 IM 上打开详细模式,这就是我通过 exec 运行它时得到的结果:convert: missing an image filename /users/stickm01/Desktop/tmp/profile_pic_screen-updated.gif'@error /convert.c/ConvertImageCommand/2949。转换:无法打开图像/users/stickm01/Desktop/tmp/profile_pic_screen-updated.pdf': Permission denied @ error/blob.c/OpenBlob/2584. convert: missing an image filename /users/stickm01/Desktop/tmp/profile_pic_screen-updated.gif'@error/convert.c/ConvertImageCommand/2949.`
    猜你喜欢
    • 1970-01-01
    • 2017-11-24
    • 2021-04-28
    • 1970-01-01
    • 1970-01-01
    • 2021-04-10
    • 2017-01-24
    • 2015-09-15
    • 1970-01-01
    相关资源
    最近更新 更多