Php 我能';不要让ImageMagick在浏览器中工作

Php 我能';不要让ImageMagick在浏览器中工作,php,pdf,imagemagick,jpeg,imagemagick-convert,Php,Pdf,Imagemagick,Jpeg,Imagemagick Convert,我正在尝试将PDF文件转换为JPG文件。 PDF是使用Prince创建的,之后我立即调用调用ImageMagick的函数。下面是上述函数的内容: if (!file_exists(Settings::getPDFFilePath())) { Log::l(true, "ERROR: File \"" . Settings::getPDFFilePath() . "\" doesn't exist."); throw new SeverityException(SeverityEx

我正在尝试将PDF文件转换为JPG文件。 PDF是使用Prince创建的,之后我立即调用调用ImageMagick的函数。下面是上述函数的内容:

if (!file_exists(Settings::getPDFFilePath())) {
    Log::l(true, "ERROR: File \"" . Settings::getPDFFilePath() . "\" doesn't exist.");
    throw new SeverityException(SeverityException::MISSINGPDFFILE);
}

if ((!file_exists(Settings::getPreviewJPGDirectory())) && (!mkdir(Settings::getPreviewJPGDirectory()))){
    Log::l(true, "ERROR: Preview JPG directory couldn't be created.");
    throw new SeverityException(SeverityException::UNWRITABLE_BOOK_DIRECTORY);
} elseif (!chmod(Settings::getPreviewJPGDirectory(), 0777)) {
    /** Files might be modified by other script/user. */
    Log::l(true, "WARNING: Access rights could not be modified for Preview JPG directory. Any further modification might become impossible.");
    Settings::submitException(new SeverityException(SeverityException::JPG_DIR_RIGHTS_UNMODIFIABLE));
}
$convert = "/usr/local/bin/convert -quality 100 -density 100x100 /path/to/pdf/file.pdf /path/to/jpg/file.jpg 2>&1";
exec($convert, $output, $res);
事情是这样的:
当我使用我的用户或用户www从命令行调用ImageMagick时,它会工作。
当我使用我的用户或用户www从命令行调用php脚本时,它会工作。
但是当我从浏览器调用php脚本时(用户调用ImageMagick,我已经检查过了),我得到了以下错误:

convert:no image defined`/path/to/jpg/file.jpg\'@error/convert.c/ConvertImageCommand/3187'

pdf文件权限为666,jpg的目标文件夹权限为777

我怀疑问题是否来自Prince,而且很明显,这与访问权无关。
命令行模式和Apache都使用相同的php.ini文件(/etc/php.ini)

我可能错过了什么,但我真的不知道

编辑:哦,我正在使用MacOS Maverick,但我认为这与此无关。

Edit2:我刚刚试过pdftopng(查看XPDF以了解更多信息),效果很好。所以问题肯定来自ImageMagick。

您的文件名中是否有空格?您确实应该在
convert
命令中引用它们。不,目录或文件名中没有空格。永远不会!:-)我会加上引号,虽然-更好的安全…你有任何环境变量设置不同的用户和www用户?你能用真实的、绝对的路径来测试输入和输出图像吗,也就是说,路径以
/
开头,我不这么认为,而且我只对ImageMagick和源/目标文件使用绝对路径。好吧,我想我会使用XPDF。。。它工作正常,没有依赖项(ImageMagick=>GhostScript)。无论如何谢谢@MarkSetchell!