我在Windows系统上使用ImageMagick 6.9.3-7 Q16 x86 2016-03-27和PHP V7.0.6。
当我通过Apache从网页运行PHP时,一切正常,如果我调用phpinfo(),我会在Imagemagick模块部分看到很多支持的格式。
但是,如果我从CLI运行PHP,phpinfo()将不会显示Imagemagick支持的格式。我怀疑它是IM_MOD_ * dll的位置问题。我注意到Apache从/ bin中取出它们,而不是从Imagemagick安装文件夹中取出它们。 也许PHP-cli试图将它们从其他地方拉出来?但是哪里?我试图将dll复制到以下目录中,但没有运气:
答案 0 :(得分:0)
Apache和CLI使用不同的.ini文件,这些文件可能没有相同的配置。
您可以在phpinfo()中看到Apache中使用的那个,其中“Loaded Configuration File”字段将显示该文件。
在CLI中运行:
php --ini
你应该看到控制台中使用的那个。
验证两个文件是否包含Imagemagick的配置。
答案 1 :(得分:0)
看起来我设法解决了我的问题。问题似乎是Imagick特有的。我添加了一个名为“MAGICK_HOME”的环境变量,指向ImageMagick文件夹(所有dll也驻留在其中),现在一切似乎都运行良好。