这个问题很接近,但没有解决问题。我正在尝试将 pdf 转换为 jpg(用于缩略图)。这是我正在运行的命令:
convert -quality 100 -density 200x200 /path/file.pdf /path/file.jpg
我已经正确安装了 mamp pro 1.7.2、imagemagick、ghostscript 并正常工作。此命令在 shell 中完美运行,但在 php 脚本中运行时失败。另一个转折是图像到图像的转换,外壳和脚本都可以完美地工作。这会让我相信在 apache/php 环境中存在一些与 ghostscript (gs) 相关的路径问题,尽管 gs 二进制文件与转换二进制文件位于同一目录中。此外,我已经调整了 mamp apache envars per ( brybot.ca 的优秀教程 -- www.brybot.ca/archives/getting-imagemagick-and-more-to-work-with-mamp-on-os-x/ ) 所以ImageMagick 运行良好,并且“/opt/local/bin”在我的 apache 路径变量中。
通过外壳,从 pdf 到图像的转换需要一些时间,我有一个唠叨的想法,即 php 脚本在 imagemagick / ghostscript 转换完成之前终止/完成,并可能中止 imagemagick 转换过程......?我试过 exec、system、shell_exec 都无济于事。
我没有从命令中得到任何输出,似乎什么也没发生,apache 或 php 日志中也没有任何显示。
更新:现在我在重新启动 MAMP 后在 apache 日志中收到以下错误
convert: unable to create temporary file `/path/file.pdf': Permission denied @ pdf.c/ReadPDFImage/358. convert: missing an image filename `/path/file.jpg' @ convert.c/ConvertImageCommand/2766.
有人有想法么?我正在为此拔头发...
非常感谢!