我在我的MAMP開發環境中安裝了Imagemagick擴展,並且PHP信息顯示正確安裝了imagemagick。不過,我收到以下異常:Imagemagick無法讀取文件(MAMP)
PHP Fatal error: Uncaught exception 'ImagickException' with message 'Unable to read the file: /Applications/MAMP/htdocs/image/demo.pdf' in /Applications/MAMP/htdocs/image/index.php:8 Stack trace: #0 /Applications/MAMP/htdocs/image/index.php(8): Imagick->__construct('/Applications/M...') #1 {main} thrown in /Applications/MAMP/htdocs/image/index.php on line 8
源代碼:
$pdf_file = '/Applications/MAMP/htdocs/image/demo.pdf'; echo $pdf_file; $save_to = '/Applications/MAMP/htdocs/image/demo.jpg'; $img = new imagick($pdf_file); //reduce the dimensions - scaling will lead to black color in transparent regions $img->scaleImage(800,0); //set new format $img->setImageFormat('jpg'); //save image file $img->writeImages($save_to, false);
編輯1:
我使用brew
管理軟件包。
我MAMP配置:
Imagick延伸(php.ini中):
[imagick] extension="/usr/local/Cellar/php55-imagick/3.1.0RC2/imagick.so"
envvars中:
路徑:
/Applications/MAMP/Library/bin/envvars
內容:
#if test "x$DYLD_LIBRARY_PATH" != "x" ; then # DYLD_LIBRARY_PATH="/Applications/MAMP/Library/lib:$DYLD_LIBRARY_PATH" #else #DYLD_LIBRARY_PATH="/Applications/MAMP/Library/lib" #fi #export DYLD_LIBRARY_PATH #DYLD_LIBRARY_PATH="/Applications/MAMP/bin/ImageMagick/ImageMagick-6.8.9/lib:/Applications/MAMP/Library/lib:$DYLD_LIBRARY_PATH" #export DYLD_LIBRARY_PATH
是你確定這個文件存在(這是正確的路徑)?你有沒有嘗試傳遞PDF而不是圖像給構造函數?有沒有錯誤?這也很可能需要使用'$ img = new imagick(realpath($ pdf_file));'或者你沒有安裝ghostscript庫 –
也試試相對路徑('$ _SERVER ['DOCUMENT_ROOT']。'/ image/demo.pdf'')。 – klugerama
@MarcinNabiałek我檢查了路徑,它的正確性。我不確定幽靈腳本。但是,我可以通過命令行隱藏圖像。 – Anam