当从CLI运行PHP时,Imagick显示没有支持的格式,当从Apache

时间:2017-09-08 18:39:12

标签: php windows apache imagemagick imagick

我在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复制到以下目录中,但没有运气:

  • C:\ windows \ system32
  • Imagemagick根文件夹
  • 的ImageMagick /模块/编码器

2 个答案:

答案 0 :(得分:0)

Apache和CLI使用不同的.ini文件,这些文件可能没有相同的配置。

您可以在phpinfo()中看到Apache中使用的那个,其中“Loaded Configuration File”字段将显示该文件。

在CLI中运行:

php --ini

你应该看到控制台中使用的那个。

验证两个文件是否包含Imagemagick的配置。

答案 1 :(得分:0)

看起来我设法解决了我的问题。问题似乎是Imagick特有的。我添加了一个名为“MAGICK_HOME”的环境变量,指向ImageMagick文件夹(所有dll也驻留在其中),现在一切似乎都运行良好。