我已经安装了ImageMagick brew install imagemagick.这一切都很好,我可以从终端/命令行运行任何ImageMagick命令.
现在当我尝试在PHP中使用ImageMagick类时,我收到一个错误Class 'Imagick' not found in ....我想这是因为没有加载ImageMagick模块.
任何人都可以帮我把这个东西用PHP工作吗?谢谢!
附加信息:
Mac OS X版本: 10.8:Mountain Lion
PHP版本:5.3.13
这似乎与我之前的问题有关,其中存在ghostscript 错误,因此 ImageMagick 开发人员制定了阻止 PDF 转换的安全策略。通过调整策略文件,将权限从“无”(默认情况下)更改为“读取 | 写入”来克服这一问题
我的类似问题是在运行表单命令时启动的
convert input.pdf output.jpg
Run Code Online (Sandbox Code Playgroud)
现在使用 ghostscript 版本 9.27 (2019-04-04) 和 imagemagick 版本 7.0.8-56 Q16 x86_64 (2019-07-21)(我相信这是每个版本的最新版本),我收到此错误
convert: attempt to perform an operation not allowed by the security policy `gs' @ error/delegate.c/ExternalDelegateCommand/378.
convert: no images defined `output.jpg' @ error/convert.c/ConvertImageCommand/3273.
Run Code Online (Sandbox Code Playgroud)
所以我已经 sudoedited/etc/ImageMagick-7/policy.xml使得 中唯一未注释的行<policymap>从
<policy domain="delegate" rights="none" pattern="gs" />
Run Code Online (Sandbox Code Playgroud)
到
<policy domain="coder" rights="read | write" pattern="PDF" />
<policy domain="delegate" rights="read | write" pattern="gs" />
Run Code Online (Sandbox Code Playgroud)
但问题仍然存在。如果简单地注释掉或删除上面的行,则结果相同。这可以在我的不止一台 Arch 机器上重现。 …
当我想上传图片时,我收到此错误:
1 error prohibited this movie from being saved:
Image Could not run the `identify` command. Please install ImageMagick.
Run Code Online (Sandbox Code Playgroud)
我在Gemfile中有这个:
gem 'imagemagick-identify', '~> 0.0.1'
gem 'paperclip', '~> 4.2.1'
Run Code Online (Sandbox Code Playgroud)
我从我的控制台跑了: gem install imagemagick-identify