PHP exec 错误,可能是 MAMP 使用 ghostscript
Posted
技术标签:
【中文标题】PHP exec 错误,可能是 MAMP 使用 ghostscript【英文标题】:PHP exec error, possibly MAMP using ghostscript 【发布时间】:2012-10-21 03:52:32 【问题描述】:我一直在尝试在 php 中使用 ghostscript 将 pdf 文件转换为图像(png、jpg)。
我不在乎,只要它们是图像。这是我使用的代码。
exec("gs -sDEVICE=jpeg -sOutputFile=/Applications/Mamp/htdocs/cover.jpg -r144 /Applications/Mamp/htdocs/test.pdf");
当我在命令行中输入完全相同的内容时,显然没有 exec 和引号,它完全符合我的要求。但是,当我运行 php 文件时,什么也没有发生。我正在使用 MAMP 服务器,服务器似乎工作正常,每当我用它运行另一个文件时,我都没有问题。任何人都知道为什么它可能无法正确执行?
【问题讨论】:
您是否尝试过输入gs
可执行文件的完整位置?它可能不在 PHP 的路径中。
非常感谢,我花了好几个小时才弄清楚这个问题,我问了我所有的朋友,我明天要开会,如果我不这样做,我的老板会杀了我.这么简单的解决方法,谢谢
太好了,我会给它一个正确的答案。
【参考方案1】:
gs
可执行文件可能不在 PHP 的路径中,因此无法使用 exec()
运行它。输入命令的完整路径将允许它在 PHP 中运行。
要查找完整路径,您可以从命令行运行 which gs
,因为它对您是可执行的,然后将该路径复制到 exec()
方法中。
> which gs
/path/to/gs
在 PHP 中更新 exec()
exec("/path/to/gs -sDEVICE=jpeg -sOutputFile=/Applications/Mamp/htdocs/cover.jpg -r144 /Applications/Mamp/htdocs/test.pdf");
【讨论】:
谢谢。这就是我要找的以上是关于PHP exec 错误,可能是 MAMP 使用 ghostscript的主要内容,如果未能解决你的问题,请参考以下文章
使用 MAMP 和 MAC 在 php myadmin 上获取错误 500
为啥 PHP exec('convert input.pdf output.jpg') 不起作用?