【问题标题】:imagemagick convert does not work through php exec() but works through command lineimagemagick convert 不能通过 php exec() 工作,但可以通过命令行工作
【发布时间】:2012-09-21 05:24:41
【问题描述】:

当我尝试通过命令行将 pdf 转换为 php 时:

convert 1.pdf 2.jpg

它可以工作并给我 jpg 图像。但后来我尝试通过 php exec() 转换它不起作用。

exec("convert 1.pdf 2.jpg");

进程开始,但我没有结果。我尝试使用

putenv("PATH=/usr/local/bin:/usr/bin:/bin")

和文件的完整路径,但它没有帮助。

我的问题有一个新的细节:当我通过命令行运行我的 php 脚本时 - 它可以工作。但是当我尝试在我的浏览器中运行它时,进程启动并运行了几秒钟(~15 秒)但我没有结果。

【问题讨论】:

  • 在命令末尾添加2>&1,使用the second argument of exec查看完整输出。个人偏好 - 到处使用绝对路径,相对路径令人头疼。
  • 感谢您的回答。我的问题有一个新的细节:当我通过命令行运行我的 php 脚本时 - 它可以工作。但是当我尝试在我的浏览器中运行它时,进程启动但我没有结果。附:我尝试使用 exec () 的第二个参数 - 每次我有一个空数组。

标签: php pdf imagemagick


【解决方案1】:

我还有一个开发项目,我需要将 pdf 转换为图像。我也使用了imagemagick。就我而言,出于安全原因,我的网络托管服务商已禁用 PHP 函数 exec()。会不会有同样的问题?

所以,我无法使用 PHP 来运行 imagemagick。我的网络托管商要求我使用 Pearl 脚本,然后它就可以工作了。

希望我的评论能帮到你。

【讨论】:

  • 我可以在我的脚本中使用 exec()。也许我会像你一样尝试使用 Perl。谢谢你的回答。
【解决方案2】:

尝试使用 ImageMagick 的 PECL 库。为您提供了许多使用 PHP 来处理 imagemagick 的选项

http://php.net/manual/en/book.imagick.php

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-09-05
    • 1970-01-01
    • 1970-01-01
    • 2012-07-28
    • 1970-01-01
    相关资源
    最近更新 更多