wamp環境下安裝imagick擴展


先上圖,如下是安裝成功后的phpinfo()界面:

 

安裝步驟:

1、先確定安裝版本,比如我的的php : php7.0.12  x86 ts

    那么就需要三方版本 要一致:imagick軟件本身( 如x86 )、php本身( x86 ts (thread safe) )、php擴展php_imagick.dll (ts) 

2、需要下載2個軟件: imagick軟件本身、php擴展php_imagick.dll擴展包:

  imagick軟件本身:  http://imagemagick.org/script/binary-releases.php#windows

  因為最新版本的 php_imagick.dll (最新版本3.4.3  2017.02.01)
     只支持到  ImageMagick 6.9.3 
     所以,我更換為  ImageMagick 6.8.9-6 Q16 x86.exe (自行百度相關版本)

  php擴展php_imagick.dll擴展包http://pecl.php.net/package/imagick/

  我選擇的是: PHP 7.0 :7.0 Thread Safe (TS) x86

3、.安裝imagick軟件和配置

    安裝imagick軟件本身,一直下一步即可;(最后一步要勾選上添加環境變量,否則安裝好之后要自己將安裝目錄添加到系統環境變量中去)

    安裝php擴展插件:php_imagick.dll  ,同其他php dll插件一樣。 
     ①從php擴展壓縮包中將php_imagick.dll 拖到/php/ext 目錄下,

     ②在php.ini開啟插件 extension=php_imagick.dll ,

     ③從擴展壓縮包中將多個  CORE_RL_*.dll 文件拖到 /php/ 目錄下

4、重啟Apache,查看 phpinfo() 中是否有 Imagick 項,如果有說明安裝成功。

5、需要另外 新建一個系統環境變量名為MAGICK_HOME,值為E:\你的imagick路徑\modules\coders, 這步主要用來定位imagemagick的module,很重要。( 否則支持的圖片格式數量默認為0 ImageMagick number of supported formats:  => 0 )

  如果沒有Imagick 項,請 使用 php擴展調試命令  來檢查擴展中存在的問題, 並確保三方軟件版本一致即可。

  php擴展  調試命令:

  在cmd運行:  php --ri imagick

  (1)如果報錯是:“php_imagick.dll' - %1 不是有效的 Win32 應用程序” ,則說明版本不相符合。 需要檢查   imagick軟件本身( 如x86 )、php本身( x86 ts (thread safe) )、php擴展php_imagick.dll (ts) 三方版本 要一致。

  (2) 如果報錯是:“php.exe - 系統錯誤 ,無法啟動此程序因為計算機丟失CORE_RL_wand_.dll ” , 說明你沒有將 php_imagick.zip 擴展包中的“CORE_*.dll” 這些dll文件 放到 你的php.exe同級目錄下。只需要拷貝 CORE_*.dll 到php目錄就可以解決了。

  (3) 如果php --ri imagick 顯示的結果  ImageMagick number of supported formats:  => 0 支持的圖片格式數量為0,請看第5步需要新建一個環境變量。

  (4)如果php代碼執行調用時報錯:“ NoDecodeDelegateForThisImageFormat ”,表明你的php_imagick.dll的版本 並不支持或並不匹配 ImageMagick軟件版本,這時候 php --ri imagick 的結果也顯示為: ImageMagick number of supported formats => 0 。需要更換ImageMagick軟件版本。

以上內容大部分參考http://www.cnblogs.com/wangqishu/p/5609950.html


 

我的環境是wamp,參照以上步驟安裝好之后發現,在cmd運行:  php --ri imagick中可以看到imagick擴展,但是在phpinfo()下看不到imagick擴展,首先想到是phpinfo()中加載的php.ini文件和cmd命令加載的php.ini文件不是同一個,在phpinfo中查看php.ini文件路徑是下面這個(在apache/bin目錄下),而cmd命令加載的是php目錄下php.ini文件

然后我將php目錄下php.ini文件覆蓋apache\apache2.4.9\bin\php.ini文件

但是此操作還是不能在phpinfo看到imagick擴展

最后一步,將php擴展壓縮包里的 CORE 開頭的 dll 文件要放到 Apache/bin 目錄下

總結:通常開發環境下,按照分割線上的步驟是能安裝好imagick擴展的,但是wamp集成環境比較特殊,需要apache/bin目錄中php.ini文件和php目錄中php.ini文件一樣,另外要將php擴展壓縮包里的 CORE 開頭的 dll 文件要放到 Apache/bin 目錄下

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM